parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

и еще про mysql, с которым я последнее время плотно общался...

Misha v.3 04.07.2003 20:52 / 04.07.2003 20:53

может кто не знает, и эта информация ему будет полезна

1. у mysql 3.23.xx есть баг, из-за которого он не использует нормально индексы. проявляется, например в такой ситуации:
есть таблица
CREATE TABLE test (
	col_a INT(10) NOT NULL,
	col_b INT(10) NOT NULL,
	col_c DATETIME NOT NULL,
	...
)
у этой таблички есть индекс:
CREATE INDEX ix_text_0 ON test (
	col_a,
	col_b,
	col_c
)
так вот, запрос вида:
SELECT
	...
FROM
	test
WHERE
	col_a = 1 AND
	col_b = 2 
ORDER BY
	col_c
LIMIT
	10
замечательно использует этот индекс и результат получаем мгновенно, однако запрос:
SELECT
	...
FROM
	test
WHERE
	col_a = 1 AND
	col_b = 2 
ORDER BY
	col_c DESC
LIMIT
	10
который согласно доке должен так-же замечательно использовать этот индекс, его просто игнорирует,
и ждать результата приходится вечность (если записей в табличке много).

Пофиксено это только у какой-то версии mysql 4.0...

Так что имейте ввиду, это достаточно частые запросы ("показать последние сообщения в форуме",
"показать последние новости"...)