Наиболее частыми ошибками начинающих web-программистов, при работе с базами MySQL – это отсутствие полной оптимизации при выполнении запросов на выборку данных.
Например, когда необходимо получить определенные данные выполняется запрос SELECT * FROM my_tbl, в результате происходит обработка всех данных, в то время можно использовать запрос SELECT my_fld1, my_fld2 FROM my_tbl, что позволит получить только данные двух полей.
Так же для этих целей можно использовать ключ WHERE - SELECT my_fld1, my_fld2 FROM my_tbl WHERE my_fld1 = 'Заказ', в результате будут выбраны данные, в которых поле my_fld1 содержит слово Заказ.
Типичной ошибкой является вывод всей информации. Например, список на 1000 товаров будет выводиться относительно долго, чтобы ускорить процесс и оптимизировать работу необходимо использовать ключ LIMIT, который позволяет выдавать информацию порциями.
Следующий ключ, тоже оптимизирует работу базы данных и чем-то похож на ключ WHERE – это ключ LIKE. Запрос: SELECT title_book FROM my_books WHERE author LIKE ‘Сидоров%’ выдаст список книг у которых поле “author” начинается с Сидоров.
При создании запросов следует избегать применения, без особой на то необходимости, ресурсоемких операций, например, таких как DISTINCT, которая производит сравнение всех находящихся в базе данных и соответственно создает большую нагрузку.
Использование индексов позволяет значительно ускорить поиск и выборку из таблицы. Поэтому поля таблицы, по которым часто делается поиск данных, лучше проиндексировать. Объясняется это следующим: если поле не индексировано, то при поиске происходит просмотр и сравнение с исходным значением, всех данных поля, от первой до последней записи.
Если для поля создан индекс, то MySQL делает быстрое позиционирование к физическому расположению данных без необходимости просмотра всех данных.
В заключение, поддержка соединения с MySQL базой. Для снижения нагрузки на MySQL-сервер не рекомендуется поддерживать постоянное соединение, в тоже время иногда установка соединения может длиться намного дольше, чем получение данных. Поэтому необходимо руководствоваться правилом - если делается выбор данных, их обработка и последующее сохранение в базе, то соединение лучше не разрывать, если выборка делается для отображения данных, то после их получения соединение лучше разорвать.
Вам срочно нужны деньги, которые можно получить без справок и поручителей? Возьмите КРЕДИТ НАЛИЧНЫМИ на сайте 1001credit.ru и тратьте их на любые нужды. |