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でJOINの高速化
JOINで無茶苦茶悩んだのでメモ。やりたかった事は、MySQLで テーブルAには ...
-
-
MySQLでテーブルとデータの複製(コピー)する方法
MySQLでテーブルとデータを複製したかった。ダンプとかではなく、簡単なSQL文 ...
-
-
WordPressでデータベース接続確立エラー発生時の対応方法
WordPressで「データベース接続確立エラー」というエラー表示がされた。大抵 ...
-
-
MySQLでユニークキーをはる
MySQLでseqとcodeみたいなものをあわせて ユニークキーをはりたかった。 ...
-
-
MySQLでストアドプロシージャ戻り値対応版であるストアドファンクションの設定と利用方法
先日MySQLのストアドプロシージャに関するメモを書いたが、今回はストアドファン ...