|
|
|
| Будет ли mysql использовать индекс id при запросе:
WHERE id<>7 AND id<>8 AND id<>9... ?
(медленно работает)
И как это можно записать более коротко? | |
|
|
|
|
|
|
|
для: vbps
(07.09.2011 в 16:24)
| | Будет ли mysql использовать индекс id при запросе:
будет
покажите весь запрос
если вас интересует диапазон? то для этого есть BETWEEN | |
|
|
|
|
|
|
|
для: Valick
(07.09.2011 в 16:46)
| | Почему не бывает. Нет, мне как раз и надо исключить из вывода, предположим категории с определенным category_id:
WHERE category_id<>7 AND category_id<>8 AND category_id<>9 ORDER BY count DESC LIMIT 0,30
При определенных условиях, например может понадобиться вывести все заиси не равные category_id: 1,3,8,9,10,11,...,56,60
Обычно делают выборку по определенному значению равному чему то. Но здесь мне нужно как раз наоборот что бы отсеять, и показать все кроме. | |
|
|
|
|
|
|
|
для: vbps
(07.09.2011 в 16:59)
| | Бывает, с неравно (<>) бывает, я немного тормознул
WHERE category_id NOT IN(1,3,8,9,10,11,...,56,60) ORDER BY count DESC LIMIT 0,30
|
| |
|
|
|
|
|
|
|
для: Valick
(07.09.2011 в 17:05)
| | Спасибо | |
|
|
|
|
|
|
|
для: vbps
(07.09.2011 в 16:59)
| | Как это проверяется?
вроде всё используется
Состояние Время
starting 0.000066
Opening tables 0.000019
System lock 0.000007
Table lock 0.000024
init 0.000036
optimizing 0.000011
statistics 0.000117
preparing 0.000012
executing 0.018931
end 0.000013
query end 0.000003
freeing items 0.000034
logging slow query 0.000008
cleaning up 0.000005
SQL-запрос был успешно выполнен
EXPLAIN SELECT *
FROM `x`
WHERE `id` NOT
IN ( 1, 3, 8, 9, 10, 11, 56, 60 ) ......
+ Параметры
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE lib ALL PRIMARY NULL NULL NULL 225 Using where ...... | |
|
|
|