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
参考サイト
関連記事
-
-
MySQLで直近〇日、〇ヶ月、〇年以内のデータを検索する方法
他社が作成されたSQL文を見ているとDATE_ADDという使ったことの無い関数が ...
-
-
MySQLで開始から終了日付内を調べたいとき
等号不等号でもできるけど、BETWEENというのがよさそう。 ■参考サイト ht ...
-
-
adminerでMySQLに接続しようとするとエラーになる場合の対応方法
新しく構築したサーバにadminerを入れて接続しようとすると、「mysqlnd ...
-
-
MySQLにてdatetime型のカラムを整形し「年月日のみ形式」または「秒のみ省いた形式」で表示する方法
MySQLにてdatetime型のカラムに登録日時等を格納しており、管理画面側で ...
-
-
PHP / MySQLで2038年問題の対策
先日打ち合わせの際に「タイムスタンプを使ってユニークキーに云々~~」といったよう ...