Ну из самого простого, но не менее важного, - это правильные индексы!!!!(их не так уж и мало) - правильный формат данных (если дата, то "timestamp", если флаг, то "bool") - если нужно выбрать только title, то пишем "SELECT title FROM table", а не "SELECT * FROM table" Это важно!!! - использование функций (MAX(), MIN(), NOW()), а не придумывать велосипед, функций очень много - UNIQUE индексы быстрее, чем индексы не по уникальным полям - использование точных значений - Поля NOT NULL экономят место и исключают проверки - Вместо text лучше использовать character varying(255), или меньше - Чем меньше размер типа, тем лучше (int, tinyint) - Использовать наиболее простые запросы SQL. Т.е. без всяких подзапросов, с наименьшим числом объединений данных таблиц и условий, ну и т.п. - объединять данные в одну таблицу, дабы уменьшить число SQL запросов - НОРМАЛИЗАЦИЯ ТАБЛИЦ!!!!! Кэширование: Вообще нужно сначала иследовать бд сделать "VACUUM ANALYZE" (EXPLAIN [ ANALYZE ] [ VERBOSE ])
Мне нужно сделать запрос: Скопировать из таблицы test все строки в таблицу test2 где id='1' Я решил сделать так: select * from test1 where id='1' into outfile 'tmp.txt' load data infile 'tmp.txt' into table test2 Можно как-то проще сделать?