|
|
|
Как можно ускорить запрос?
|
|||
|---|---|---|---|
|
#18+
Запрос выполняется от 1,5 до 3-х секунд, можно как-нибудь ускорить? Код: sql 1. 2. 3. Код: sql 1. 2. 3. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2014, 09:52:34 |
|
||
|
Как можно ускорить запрос?
|
|||
|---|---|---|---|
|
#18+
deadly1983, покажите DDL таблицы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2014, 10:03:06 |
|
||
|
Как можно ускорить запрос?
|
|||
|---|---|---|---|
|
#18+
Как можно ускорить, если тут гарантировано полное сканирование? Пока не откажетесь от пользовательских функций, ничего не сделаете. Изложите логику происходящего и DDL исходного материала. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2014, 10:06:44 |
|
||
|
Как можно ускорить запрос?
|
|||
|---|---|---|---|
|
#18+
miksoft, Я правильно понял, это надо показать? Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2014, 10:10:01 |
|
||
|
Как можно ускорить запрос?
|
|||
|---|---|---|---|
|
#18+
Akina, Цена в таблице price может быть в любой валюте, выводить необходимо только в одной (по курсу). например, цены вбиты в долларах и в рублях, а фильтр в рублях. мне надо выбрать все идэшки соответсвующие условию. как-то так. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2014, 10:14:05 |
|
||
|
Как можно ускорить запрос?
|
|||
|---|---|---|---|
|
#18+
deadly1983 Код: sql 1. 2. 3. Для чего эта строка? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2014, 10:34:30 |
|
||
|
Как можно ускорить запрос?
|
|||
|---|---|---|---|
|
#18+
miksoft, Выбирает ID валюты в базе, в которой нужно все отображать, это для вычисления rate (курса) по отношению к валюте которая записана в `cid` INT(10) NULL DEFAULT '1' COMMENT 'Currency ID', ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2014, 10:39:30 |
|
||
|
Как можно ускорить запрос?
|
|||
|---|---|---|---|
|
#18+
А стоп, это в другой функции Там она нужна для определения количества знаков для округления ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2014, 10:40:41 |
|
||
|
Как можно ускорить запрос?
|
|||
|---|---|---|---|
|
#18+
deadly1983Там она нужна для определения количества знаков для округленияСорри, просмотрел. Сколько всего записей в таблице и сколько выдается в результате этого запроса? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2014, 10:50:40 |
|
||
|
Как можно ускорить запрос?
|
|||
|---|---|---|---|
|
#18+
miksoft, Всего 10963 Выдаётся по разному, время выполнения от этого не меняется, даже если выводятся все записи, или если одна ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2014, 10:57:09 |
|
||
|
Как можно ускорить запрос?
|
|||
|---|---|---|---|
|
#18+
AkinaКак можно ускорить, если тут гарантировано полное сканирование? Пока не откажетесь от пользовательских функций, ничего не сделаете.Функции еще как-то можно победить, вывернуть их наоборот в правую сторону. А вот с произведением не вижу что можно сделать... Остается только мелочь, хотя и она может помочь: а) Заменить вызов двух функций на один с двумя параметрами. б) строки Код: sql 1. 2. 3. вынести вообще перед запросом и вызывать один раз, а не десять-двадцать тысяч раз. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2014, 11:02:26 |
|
||
|
Как можно ускорить запрос?
|
|||
|---|---|---|---|
|
#18+
deadly1983Выдаётся по разномуЭто как это "по-разному" ? самопроизвольно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2014, 11:03:04 |
|
||
|
Как можно ускорить запрос?
|
|||
|---|---|---|---|
|
#18+
miksoft, Код: sql 1. 2. Код: sql 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2014, 11:07:32 |
|
||
|
Как можно ускорить запрос?
|
|||
|---|---|---|---|
|
#18+
miksoft Код: sql 1. 2. 3. вынести вообще перед запросом и вызывать один раз, а не десять-двадцать тысяч раз. Как это можно сделать, куда их вынести? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2014, 11:10:37 |
|
||
|
Как можно ускорить запрос?
|
|||
|---|---|---|---|
|
#18+
deadly1983, В случае, когда возвращается полтаблицы, индексы вообще смысла не имеют. Т.е. ускорение можно получить только разве что за счет того, о чем я выше писал. В случае, когда возвращается малая доля таблицы, можно побороться за индексный доступ, но придется модифицировать таблицу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2014, 11:11:00 |
|
||
|
Как можно ускорить запрос?
|
|||
|---|---|---|---|
|
#18+
deadly1983miksoft Код: sql 1. 2. 3. вынести вообще перед запросом и вызывать один раз, а не десять-двадцать тысяч раз. Как это можно сделать, куда их вынести?Например, выполнять как отдельные запросы из приложения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2014, 11:11:52 |
|
||
|
Как можно ускорить запрос?
|
|||
|---|---|---|---|
|
#18+
miksoft, понятно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2014, 11:12:22 |
|
||
|
Как можно ускорить запрос?
|
|||
|---|---|---|---|
|
#18+
Главное, чтобы эти вызовы были строго в той же MySQL-сессии, что и основной запрос. Иначе результат будет неопределенным. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2014, 11:26:04 |
|
||
|
Как можно ускорить запрос?
|
|||
|---|---|---|---|
|
#18+
deadly1983Цена в таблице price может быть в любой валюте, выводить необходимо только в одной (по курсу). например, цены вбиты в долларах и в рублях, а фильтр в рублях. мне надо выбрать все идэшки соответсвующие условию. Нафига тебе их ВЫБИРАТЬ? код валюты в таблице тебе известен, код валюты фильтра тоже, этого достаточно для выбора необходимой строки таблицы конвертации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2014, 11:26:18 |
|
||
|
Как можно ускорить запрос?
|
|||
|---|---|---|---|
|
#18+
Akinadeadly1983Цена в таблице price может быть в любой валюте, выводить необходимо только в одной (по курсу). например, цены вбиты в долларах и в рублях, а фильтр в рублях. мне надо выбрать все идэшки соответсвующие условию. Нафига тебе их ВЫБИРАТЬ? код валюты в таблице тебе известен, код валюты фильтра тоже, этого достаточно для выбора необходимой строки таблицы конвертации. Ну если только округление вообще убрать , то уже то что надо, спасибо. Код: sql 1. 2. 3. 4. Что можно с округлением придумать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2014, 11:40:37 |
|
||
|
Как можно ускорить запрос?
|
|||
|---|---|---|---|
|
#18+
И что лучше везде убрать функцию и через LEFT сделать, или только в проблемных местах? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2014, 11:42:58 |
|
||
|
Как можно ускорить запрос?
|
|||
|---|---|---|---|
|
#18+
Код: sql 1. 2. 3. 4. 5. Запрос не красивый, но быстрый. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2014, 11:46:58 |
|
||
|
Как можно ускорить запрос?
|
|||
|---|---|---|---|
|
#18+
deadly1983Запрос не красивый, но быстрый.И не совсем эквивалентный исходному. Ведь зачем-то в функциях понатыкан везде LIMIT 1 ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2014, 11:52:25 |
|
||
|
Как можно ускорить запрос?
|
|||
|---|---|---|---|
|
#18+
miksoftВедь зачем-то в функциях понатыкан везде LIMIT 1 ?Да от неграмотности. LIMIT без ORDER BY - дурь полная, причём для любого из 4 возможных вариантов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2014, 12:29:32 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=38819075&tid=1833876]: |
0ms |
get settings: |
4ms |
get forum list: |
8ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
28ms |
get topic data: |
5ms |
get forum data: |
2ms |
get page messages: |
35ms |
get tp. blocked users: |
1ms |
| others: | 192ms |
| total: | 279ms |

| 0 / 0 |
