|
(PHP)Как сократить еб.нистическую выборку
|
|||
---|---|---|---|
#18+
Всем доброго вечера. Имею тяжелый запрос, хотя нет, скорее он имеет и меня и сервер ))), он проверяет 450 000 строк : if(isset($filter['discounted'])) { $discounted_filter = $this->db->placehold('AND (SELECT 1 FROM __variants pv WHERE pv.product_id=p.id AND pv.compare_price>0 LIMIT 1) = ?', intval($filter['discounted'])); $order = 'RAND()'; } Как можно сократить выборку (что изменить, что бы запрос выполнялся быстрее ? Мне достаточно проверить первые 10 000 строк ... ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2018, 23:54 |
|
(PHP)Как сократить еб.нистическую выборку
|
|||
---|---|---|---|
#18+
А где запрос то? Тут какой-то кусок кода, кажется, на PHP. Да и то, оформленный не по правилам форума. Если вопрос о SQL-запросе - приводите его текст и задавайте вопрос в подфоруме по соответствующей СУБД. Навскидку, если речь таки об SQL. Booble$order = 'RAND()';Если этот кусок в реальном SQL-запросе преобразуется в "ORDER BY RAND()" - тогда это и есть одна из причин тормозов. BoobleМне достаточно проверить первые 10 000 строкДобавьте LIMIT. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2018, 00:15 |
|
|
start [/forum/topic.php?fid=23&msg=39665645&tid=1460254]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
32ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
2ms |
others: | 14ms |
total: | 138ms |
0 / 0 |