Войти в систему

Home
    - Создать дневник
    - Написать в дневник
       - Подробный режим

LJ.Rossia.org
    - Новости сайта
    - Общие настройки
    - Sitemap
    - Оплата
    - ljr-fif

Редактировать...
    - Настройки
    - Список друзей
    - Дневник
    - Картинки
    - Пароль
    - Вид дневника

Сообщества

Настроить S2

Помощь
    - Забыли пароль?
    - FAQ
    - Тех. поддержка



Пишет mumuntu ([info]mumuntu)
@ 2010-09-07 21:48:00


Previous Entry  Add to memories!  Tell a Friend!  Next Entry
С огромным отрывом победил коллега [info]metaclass@lj со своим вариантом.


(Добавить комментарий)


[info]juliy@lj
2010-09-07 14:33 (ссылка)
первым программистом был Гитлер

(Ответить)


[info]kvasimodo@lj
2010-09-08 04:38 (ссылка)
а у тебя там составной кластерный индекс по дате и айдишнику?

(Ответить) (Ветвь дискуссии)


[info]alexclear@lj
2010-09-08 04:45 (ссылка)
Мыскль кластерные индексы не умеет вообще, в запросе [info]metaclass@lj работает только индекс по дате, по айдишнику не нужен.

(Ответить) (Уровень выше) (Ветвь дискуссии)

Re: Відповідь на ваш коментар...
[info]kvasimodo@lj
2010-09-08 04:55 (ссылка)
а покажи план, пожалуйста

(Ответить) (Уровень выше) (Ветвь дискуссии)

Re: Відповідь на ваш коментар...
[info]alexclear@lj
2010-09-08 09:43 (ссылка)

mysql> EXPLAIN SELECT wp_posts.ID FROM wp_posts WHERE wp_posts.post_type = 'post' AND (wp_posts.post_status = 'publish')
AND EXISTS (SELECT 1 FROM wp_term_relationships INNER JOIN wp_term_taxonomy
ON (wp_term_relationships.term_taxonomy_id = wp_term_taxonomy.term_taxonomy_id)
WHERE wp_posts.ID = wp_term_relationships.object_id AND wp_term_taxonomy.taxonomy = 'category'
AND wp_term_taxonomy.term_id IN ('8', '8616', '8611', '8615', '13', '6276', '6277', '8645', '2'))
ORDER BY wp_posts.post_date DESC LIMIT 3000, 100;
+----+--------------------+-----------------------+--------+--------------------------------------------------+---------+---------+---------------------------------------------------+-------+--------------------------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+----+--------------------+-----------------------+--------+--------------------------------------------------+---------+---------+---------------------------------------------------+-------+--------------------------+
| 1 | PRIMARY | wp_posts | ref | type_status_date,ptpspd,ptpspd1,ptpspid,ptpspid1 | ptpspd1 | 124 | const,const | 34348 | Using where; Using index |
| 2 | DEPENDENT SUBQUERY | wp_term_relationships | ref | PRIMARY,term_taxonomy_id | PRIMARY | 8 | finportal3.wp_posts.ID | 1 | Using where; Using index |
| 2 | DEPENDENT SUBQUERY | wp_term_taxonomy | eq_ref | PRIMARY,term_id_taxonomy | PRIMARY | 8 | finportal3.wp_term_relationships.term_taxonomy_id | 1 | Using where |
+----+--------------------+-----------------------+--------+--------------------------------------------------+---------+---------+---------------------------------------------------+-------+--------------------------+
3 rows in set (0.00 sec)

mysql>

(Ответить) (Уровень выше)

Re: Відповідь на ваш коментар...
[info]alexclear@lj
2010-09-08 09:43 (ссылка)
Индекс не только по дате, я напиздел

(Ответить) (Уровень выше)


[info]zamotivator@lj
2010-09-09 10:24 (ссылка)
Мыскль кластерные индексы не умеет вообще,
ЩИТО?

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]alexclear@lj
2010-09-09 11:13 (ссылка)
А как?

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]zamotivator@lj
2010-09-09 11:15 (ссылка)
http://dev.mysql.com/doc/refman/5.1/en/innodb-table-and-index.html
Искренне ваш, кэп

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]plumqqz@lj
2010-09-10 04:20 (ссылка)
Зато иннодб другие не умеет.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]zamotivator@lj
2010-09-10 04:21 (ссылка)
Гм.
/me просто любопытно
А это, простите какие?

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]plumqqz@lj
2010-09-10 04:26 (ссылка)
Которые традиционно называются heap.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]zamotivator@lj
2010-09-10 04:28 (ссылка)
Ну-ка, и в каких же СУБД у нас есть индексы на базе куч?

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]plumqqz@lj
2010-09-10 04:29 (ссылка)
Если я правильно понял странную фразу "индексы на базе куч", то могу сказать тако: во всех. Ну, кроме мыскля.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]zamotivator@lj
2010-09-10 04:31 (ссылка)
heap == куча.
Ну-ка, вот в PostgreSQL и SyBase IQ, например, есть?

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]plumqqz@lj
2010-09-10 04:37 (ссылка)
В постгресе только куча и есть, про сайбейз айкью не скажу, в обычном - конечно, там таблица - либо куча, либо кластеред.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]zamotivator@lj
2010-09-10 04:39 (ссылка)
В постгресе только куча и есть
GiST, GIN, B-Tree, Hash - не?

про сайбейз айкью не скажу, в обычном - конечно, там таблица - либо куча, либо кластеред.
Кстати, забаво - таблица в виде кучи. Мне такое в голову не приходило, возьму на заметку.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]plumqqz@lj
2010-09-10 04:40 (ссылка)
GiST, GIN, B-Tree, Hash - не?

И даже "Охото - пиво для настоящих мужчино" тоже не. Heap - это про таблицу, а не про индексы.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]zamotivator@lj
2010-09-10 04:41 (ссылка)
Ёлы-палы, Саня-то про индексы изначально говорил, вот я и выпал из контекста.
Тогда согласен, вопросы сняты.

(Ответить) (Уровень выше)


[info]plumqqz@lj
2010-09-10 04:41 (ссылка)
Кстати, забаво - таблица в виде кучи. Мне такое в голову не приходило, возьму на заметку.

Это не та куча, которая структура данных. Это просто куча :-) Двусвязный список страниц.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]zamotivator@lj
2010-09-10 04:43 (ссылка)
Тьфу бля, замущал совсем.

С другой стороны binary heap ооооочень интересная структура данных. Как и leftist heap.
Наверняка существуют выборки, где такие структуры будет отыгрыватью

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]plumqqz@lj
2010-09-10 04:50 (ссылка)
С другой стороны binary heap ооооочень интересная структура данных. Как и leftist heap

Да не думаю - высота у нее большая, для прочтения диапазона соседних значений надо носиться по куче блоков, а не по одному. С деревом та же фигня.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]zamotivator@lj
2010-09-10 05:10 (ссылка)
Ну так пусть элементов не row будет, а page.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]plumqqz@lj
2010-09-10 05:12 (ссылка)
Ну так пусть элементов не row будет, а page.

?

(Ответить) (Уровень выше)