Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Будет ли mysql использовать индекс при запросе WHERE id<>7
 
 автор: vbps   (07.09.2011 в 16:24)   письмо автору
 
 

Будет ли mysql использовать индекс id при запросе:
WHERE id<>7 AND id<>8 AND id<>9... ?
(медленно работает)
И как это можно записать более коротко?

  Ответить  
 
 автор: Valick   (07.09.2011 в 16:46)   письмо автору
 
   для: vbps   (07.09.2011 в 16:24)
 

Будет ли mysql использовать индекс id при запросе:
будет
покажите весь запрос
если вас интересует диапазон? то для этого есть BETWEEN

  Ответить  
 
 автор: vbps   (07.09.2011 в 16:59)   письмо автору
 
   для: 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

Обычно делают выборку по определенному значению равному чему то. Но здесь мне нужно как раз наоборот что бы отсеять, и показать все кроме.

  Ответить  
 
 автор: Valick   (07.09.2011 в 17:05)   письмо автору
 
   для: 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

  Ответить  
 
 автор: vbps   (07.09.2011 в 17:19)   письмо автору
 
   для: Valick   (07.09.2011 в 17:05)
 

Спасибо

  Ответить  
 
 автор: EXP   (07.09.2011 в 17:14)   письмо автору
 
   для: 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 ......

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования