Оптимизация MySql запросов

теги: MySql  Разработка   Раздел: MYSQL

Очень часто при написании скриптов, в повседневной работе, мы сталкиваемся с одними и теме же ошибками при написании запросов в БД.

Старайтесь писать запросы правильно, а не так как первокласник считает интегралы :)

SELECT * From table 
- вроде бы всё правильно, всё логично, всё понятно. Выбираем все поля из некоторой таблицы в БД, но прошу заметить тот кто будет смотреть код после вас, всё-таки полезет в БД и посмотрит какие именно поля есть в этой таблице ведь под * может скрываться как 2 так и 102 поля, а это уже серьёзный минус.
Что мешает Вам указать четко поля? Хорошо, допустим у вас 5 полей, тогда запрос будет выглядеть примерно так 
SELECT id, name, user, date, public FROM table 
Указали все поля, во-первых нам уже проще работать с полями и выборкой,во-вторых код стал понятнее для следующих разработчиков, да и для вас, в момент когда вы вернётесь к данной строке в будущем.

Ведь вам не всегда нужны все поля из таблицы, а в дальнейшем в вашей таблице могут добавляться поля, и вы с трудом сможете найти "Почему так долго идет загрузка страницы", а окажется, что у вас просто где-то выбираются все поля, а ведь поля могут быть не просто INTEGER, а BLOB или LONGTEXT, которые будут выбираться просто так, из-за вашей невнимательности и неправильной начальной структуры таблицы или просто "Ай, что будет то..." так и оставите.
 
Запросы в циклах
Старайтесь обходить такого рода запросы. Не знаете как оптимизировать запрос сами, спросите у друга, если он конечно обладает такими знаниями. А если не знаете что делать, прибегните к простому в MySql есть конструкция IN(). Она помогает сделать запрос проще и понятнее, а тем более сделать всего один запрос вместо 100. 
 
//UPD статья дополняется
Написана: 15.02.2011 00:00 | Просмотров: 89
Никто не удосужился оставить свой след. Ты можешь стать первым!
Автор
Email
Комментарий
Введите код c картинки: