|
Как можно ускорить выборку полей из базы данных, оптимизацией запроса?
|
|||
---|---|---|---|
#18+
Здравствуйте. Подскажите как можно ускорить выборку полей из базы данных, оптимизацией запроса. Есть таблица на 25 тыс записей весом 180 Мб. С ростом таблицы увеличилось время ответа сервера, страницы стали загружаться дольше. Запрос выглядит так: $queryResult = $dbRes->query("SELECT response_y, requested_time_y FROM ya_cache WHERE path_y = '$path_y'"); При обращении к таблице производится выборка только одной строки. Может быть можно запрос как-то оптимизировать? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2021, 19:17 |
|
Как можно ускорить выборку полей из базы данных, оптимизацией запроса?
|
|||
---|---|---|---|
#18+
yuriynik, По полю path_y индекс есть? Или, может быть, она уже является первичным ключом? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2021, 22:16 |
|
Как можно ускорить выборку полей из базы данных, оптимизацией запроса?
|
|||
---|---|---|---|
#18+
miksoft, Поле path_y - первичный ключ, индекс стоит. Сделал скрин для наглядности http://joxi.ru/DrloK76tVgvYNA ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2021, 22:35 |
|
Как можно ускорить выборку полей из базы данных, оптимизацией запроса?
|
|||
---|---|---|---|
#18+
yuriynik Сделал скрин для наглядности ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2021, 22:42 |
|
Как можно ускорить выборку полей из базы данных, оптимизацией запроса?
|
|||
---|---|---|---|
#18+
miksoft yuriynik Сделал скрин для наглядности Вывод SHOW CREATE TABLE. Как это сделать, не подскажете?) ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2021, 22:51 |
|
Как можно ускорить выборку полей из базы данных, оптимизацией запроса?
|
|||
---|---|---|---|
#18+
yuriynik, Эта команда что выводит? Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2021, 23:02 |
|
Как можно ускорить выборку полей из базы данных, оптимизацией запроса?
|
|||
---|---|---|---|
#18+
miksoft yuriynik, Эта команда что выводит? Код: sql 1.
Вот что вывела http://joxi.ru/Dr8yaWZuo8oZem Я в этом ничего не понимаю ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2021, 07:09 |
|
Как можно ускорить выборку полей из базы данных, оптимизацией запроса?
|
|||
---|---|---|---|
#18+
CHAR(250) как первичный ключ - это [censored]. То же следует сказать и о наличии двух одинаковых индексов по полю первичного ключа. Какой размер данных РЕАЛЬНО хранится в поле? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2021, 07:40 |
|
Как можно ускорить выборку полей из базы данных, оптимизацией запроса?
|
|||
---|---|---|---|
#18+
yuriynik Вот что вывела ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2021, 08:24 |
|
Как можно ускорить выборку полей из базы данных, оптимизацией запроса?
|
|||
---|---|---|---|
#18+
Akina CHAR(250) как первичный ключ - это [censored]. То же следует сказать и о наличии двух одинаковых индексов по полю первичного ключа. Какой размер данных РЕАЛЬНО хранится в поле? Наверное CHAR(250) не годится для первичного ключа. Что можете посоветовать? Выбрать другой тип записи для поля? Записи в поле path_y (первичный ключ) имеют такой вид: &system=iata&limit=200&transfers=true&format=json&from=&to=ALY&transport_types=plane&lang=ru_RU&page=1 Меняются только IATA-коды (&from= и &to=) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2021, 11:16 |
|
Как можно ускорить выборку полей из базы данных, оптимизацией запроса?
|
|||
---|---|---|---|
#18+
miksoft yuriynik Вот что вывела Вот полный текст при вводе команды SHOW CREATE TABLE ya_cache: CREATE TABLE `ya_cache` ( `path_y` char(250) NOT NULL, `requested_time_y` timestamp NOT NULL DEFAULT current_timestamp(), `response_y` mediumtext NOT NULL, PRIMARY KEY (`path_y`), UNIQUE KEY `path_y` (`path_y`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2021, 11:18 |
|
Как можно ускорить выборку полей из базы данных, оптимизацией запроса?
|
|||
---|---|---|---|
#18+
yuriynik Записи в поле path_y (первичный ключ) имеют такой вид: &system=iata&limit=200&transfers=true&format=json&from=&to=ALY&transport_types=plane&lang=ru_RU&page=1 Меняются только IATA-коды (&from= и &to=) Это ужасно... нормализация? не, не слышали... Вопрос - допустимо ли изменение структуры хранения данных? или на неё дофига уже что завязано? если так - допустимо ли минорное изменение и создание вычисляемых полей? В любом случае - следует удалить дублирующий индекс: Код: sql 1.
yuriynik Я в этом ничего не понимаю Ну вариантов два. Либо берётесь за изучение и начинаете понимать, или наших ответов Вы тоже не поймёте. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2021, 12:25 |
|
Как можно ускорить выборку полей из базы данных, оптимизацией запроса?
|
|||
---|---|---|---|
#18+
Akina, Могу сократить запрос, первичный ключ сделать в таком виде: &from=MOW&to=ALY Это ускорит работу? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2021, 13:11 |
|
Как можно ускорить выборку полей из базы данных, оптимизацией запроса?
|
|||
---|---|---|---|
#18+
yuriynik Могу сократить запрос, первичный ключ сделать в таком виде: &from=MOW&to=ALY Либо первичный ключ синтетический, плюс композитный уник. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2021, 13:24 |
|
Как можно ускорить выборку полей из базы данных, оптимизацией запроса?
|
|||
---|---|---|---|
#18+
авторCHAR(250) как первичный ключ - это [censored]. нормальная ситуация как по мне. эта табличка - тупо кэширование сгенерированных html которые зависят от всех параметров в адресной строке. другой вопрос что делать это надо на nginx ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2021, 15:13 |
|
|
start [/forum/moderation_log.php?user_name=flashgun]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
get settings: |
11ms |
get forum list: |
16ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
32ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
others: | 853ms |
total: | 1018ms |
0 / 0 |