今日構築してテスト稼動したサーバで、uptimeが3とかになるため調査したら、MySQLが重い。 slow-queryをチェックすると select LAST_INSERT_ID() from table;というqueryに時間がかかってる模様。 ぐぐると、上のqueryは単に以下でいいらしい。 select LAST_INSERT_ID();要は、LAST_INSERT_ID()は文字通り最後にinsertしたIDを返すので、テーブル指定はいらないということ。むしろ、テーブルを指定するとレコードを全部舐めるので重くなる、ということのようだ。 コネクションごとにLAST_INSERT_ID()は保存されるので、(つまり、あるコネクションでinsertしてから別のコネクションでinsertされたとしてもLAST_INSERT_IDは、ちゃんと欲しいIDを返してくる)この指定でかまわないという