pastuhoff
Постоялец
- Регистрация
- 11 Июл 2012
- Сообщения
- 59
- Реакции
- 8
- Автор темы
- #1
Коллеги, подскажите, можно ли на такой таблице
CREATE TABLE `z` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`x` smallint(5) unsigned NOT NULL DEFAULT '0',
`a` int(11) unsigned NOT NULL DEFAULT '0',
`b` int(11) unsigned NOT NULL DEFAULT '0',
PRIMARY KEY (`id`),
KEY `x` (`x`)
) ENGINE=Aria DEFAULT CHARSET=cp1251 PAGE_CHECKSUM=1 TRANSACTIONAL=0
объединить запросы
SELECT COUNT(*) AS n1 FROM `z` WHERE x=1
SELECT COUNT(*) AS n2 FROM `z` WHERE a=0 AND x=1
SELECT COUNT(*) AS n3 FROM `z` WHERE a=1 AND x=1
SELECT COUNT(*) AS n4 FROM `z` WHERE a>1 AND x=1
SELECT COUNT(*) AS n5 FROM `z` WHERE b=0 AND x=1
SELECT COUNT(*) AS n6 FROM `z` WHERE b=1 AND x=1
SELECT COUNT(*) AS n7 FROM `z` WHERE b>1 AND x=1
в один, дабы уменьшить общее время выполнения всех этих селектов (новые индексы создавать нельзя).
CREATE TABLE `z` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`x` smallint(5) unsigned NOT NULL DEFAULT '0',
`a` int(11) unsigned NOT NULL DEFAULT '0',
`b` int(11) unsigned NOT NULL DEFAULT '0',
PRIMARY KEY (`id`),
KEY `x` (`x`)
) ENGINE=Aria DEFAULT CHARSET=cp1251 PAGE_CHECKSUM=1 TRANSACTIONAL=0
объединить запросы
SELECT COUNT(*) AS n1 FROM `z` WHERE x=1
SELECT COUNT(*) AS n2 FROM `z` WHERE a=0 AND x=1
SELECT COUNT(*) AS n3 FROM `z` WHERE a=1 AND x=1
SELECT COUNT(*) AS n4 FROM `z` WHERE a>1 AND x=1
SELECT COUNT(*) AS n5 FROM `z` WHERE b=0 AND x=1
SELECT COUNT(*) AS n6 FROM `z` WHERE b=1 AND x=1
SELECT COUNT(*) AS n7 FROM `z` WHERE b>1 AND x=1
в один, дабы уменьшить общее время выполнения всех этих селектов (новые индексы создавать нельзя).