richardb
  • 0
Новичок

Наиболее эффективное использование запросов к БД

  • 0

У меня есть пользовательская таблица базы данных с большим количеством данных, которые я хотел бы запросить несколько раз из созданного мной пользовательского файла шаблона. Скажем, таблица БД выглядит так:

id     name     city          zip
23     Mike     New York      123
54     Peter    Los Angeles   456
78     Steven   Chicago       789
79     Tom      Los Angeles   450

И я хочу запустить как минимум четыре запроса, выглядящих примерно так:

SELECT * FROM table LIMIT $paginated,10 (this is presenting all of the names)
SELECT id,city FROM table GROUP BY city (this will be a dropdown list of all the citys)
SELECT zip FROM table WHERE city = "New York" GROUP BY zip

Это всего три запроса, но в любом случае — более эффективно просто запустить один большой запрос со всеми данными в массив, а затем просто зацикливать этот массив, когда это необходимо, или лучше выполнять фактические запросы к БД?

Конечно, я использую $wpdb->get_results для каждого запроса, это сложнее для сервера? Я имею в виду, что использование кода WP для выполнения запросов к БД должно привести к тому, что компилятор будет переводить больше PHP-кода, я ошибаюсь?

Share
  1. Объект основан на ezSQL$wpdb , он не добавляет больших накладных расходов, так что я бы не стал об этом беспокоиться. Самостоятельное открытие второго соединения с базой данных, вероятно, приведет к большим накладным расходам, чем использование функций.$wpdb

    Три описанных вами запроса идеально подходят для работы с базой данных (небольшой результирующий набор из большого набора данных), поэтому вам не следует эмулировать их в PHP. Обязательно добавьте несколько индексов в таблицу, чтобы ускорить запросы (по city крайней мере, один). Используйте EXPLAIN функцию MySQL, чтобы узнать, что делает база данных для выполнения вашего запроса и как вы можете ей помочь.

    • 0

Оставить ответ

You must login to add an answer.