Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Использование индекса при составном условии отбора / 2 сообщений из 2, страница 1 из 1
22.11.2013, 11:58:35
    #38474022
Dmitriy-CoDy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование индекса при составном условии отбора
Есть таблица:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
CREATE TABLE virtuemart_product_customfields (
  virtuemart_customfield_id int(11) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'field id',
  virtuemart_product_id int(11) NOT NULL DEFAULT 0,
  virtuemart_custom_id int(11) NOT NULL DEFAULT 1 COMMENT 'custom group id',
  custom_value tinyint(4) NOT NULL COMMENT 'field value',
  PRIMARY KEY (virtuemart_customfield_id),
  INDEX idx_custom_value (custom_value),
  INDEX idx_virtuemart_custom_id (virtuemart_custom_id),  
  INDEX IDX_virtuemart_product_customf (virtuemart_custom_id, custom_value)
)
ENGINE = MYISAM
CHARACTER SET utf8
COLLATE utf8_general_ci;



Есть запросы:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
EXPLAIN
SELECT
  virtuemart_product_id
FROM
  virtuemart_product_customfields
WHERE
  (virtuemart_custom_id  = 2 AND  custom_value  = 2);


idselect_typetabletypepossible_keyskeykey_lenrefrowsExtra1SIMPLEvirtuemart_product_customfieldsrefidx_virtuemart_custom_id;idx_custom_value;IDX_virtuemart_product_customfIDX_virtuemart_product_customf5const;const4315

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
EXPLAIN
SELECT
  virtuemart_product_id
FROM
  virtuemart_product_customfields
WHERE
  (virtuemart_custom_id  = 2 AND  custom_value  = 2)
  OR
  (virtuemart_custom_id  = 4 AND  custom_value  = 3);


idselect_typetabletypepossible_keyskeykey_lenrefrowsExtra1SIMPLEvirtuemart_product_customfieldsALLidx_virtuemart_custom_id;idx_custom_value;IDX_virtuemart_product_customf(null)(null)(null)31404Using where

Можно-ли добиться использования индекса во 2 запросе???
...
Рейтинг: 0 / 0
22.11.2013, 12:15:03
    #38474057
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование индекса при составном условии отбора
Да, можно. Перепиши его на UNION.
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Использование индекса при составном условии отбора / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]