MySQLのTEMPORARY TABLE(テンポラリテーブル)で高速化を図る方法
2024/05/18
MySQLで5000万件ぐらいデータが入っているテーブルから日本語検索しないといけないケースがあった。検索の際、非常に時間がかかるので対応方法が無いか調べたところTEMPORARY TABLE(テンポラリテーブル)を用いることで多少改善できた。以下に対応方法をメモ。
ソースコード
$sql = '
CREATE TEMPORARY TABLE tmp_table
SELECT *
FROM aaa_table
WHERE hogehoge LIKE "%検索文字列%"
';
$row = mysql_query($sql);
$sql = '
SELECT *
FROM tmp_table
WHERE time < now()
';
リファレンス
https://dev.mysql.com/doc/refman/8.0/ja/create-temporary-table.html
参考サイト
関連記事
-
-
phpMyAdminでのエクスポート/インポート
DBのバックアップを取る際にエクスポート/インポートを行うが、 データ件数が多い ...
-
-
MySQLで月別に集計を行う。あと日付時刻関数。
現在進行形でやっているデータ集計系だけど 新たな発見があったのでメモ。 ■日付時 ...
-
-
MySQLにてdatetime型のカラムを整形し「年月日のみ形式」または「秒のみ省いた形式」で表示する方法
MySQLにてdatetime型のカラムに登録日時等を格納しており、管理画面側で ...
-
-
MySQLで「Uncaught mysqli_sql_exception: BIGINT ~~」エラーの対応方法
MySQLにて「Uncaught mysqli_sql_exception: B ...
-
-
MySQLで文字列を置換する方法
MySQLで文字列の置換を行いたかった。以下に方法をメモ。 目次1 ...