|
|
|
select max(id)
|
|||
|---|---|---|---|
|
#18+
Есть большая таблица с проиндексированным полем field, запрос из которой Код: plaintext Но если попытаться запросить Код: plaintext Возможны ли рабочие варианты для подобного запроса? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2008, 21:14:56 |
|
||
|
select max(id)
|
|||
|---|---|---|---|
|
#18+
lfЕсть большая таблица с проиндексированным полем field, запрос из которой Код: plaintext Но если попытаться запросить Код: plaintext Возможны ли рабочие варианты для подобного запроса? А что за структура таблицы? Сколько записей? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2008, 06:43:33 |
|
||
|
select max(id)
|
|||
|---|---|---|---|
|
#18+
lf, попробовал на классе с 9 полями и 1.5 млн строк. С простым индексом 1 Ваш запрос выполнялся - 40 сек, когда сменил на битмап - 21 сек. Второй ваш запрос выполнился - за 24 сек. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2008, 07:01:19 |
|
||
|
select max(id)
|
|||
|---|---|---|---|
|
#18+
Похоже там field не "простой"... ---------- Cache for Windows (x86-32) 2007.1.3 (Build 607) Wed Oct 17 2007 02:12:09 EDT ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2008, 08:42:47 |
|
||
|
select max(id)
|
|||
|---|---|---|---|
|
#18+
Полмиллиона записей, поле field обычное (%String, индексируемое). Всего полей в таблице - 16 (т.е. field1, field2 и т.д.). Запрос умирает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2008, 11:03:24 |
|
||
|
select max(id)
|
|||
|---|---|---|---|
|
#18+
lfполе field обычное (%String, индексируемое) А сколько "разных значений" у этого поля? Т.е. сколько бы получилось строк в итоге запроса Код: plaintext Ведь там для каждой строчки будет вычисляться max(id)... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2008, 11:24:34 |
|
||
|
select max(id)
|
|||
|---|---|---|---|
|
#18+
А такой запрос Код: plaintext сколько будет выполняться? ---------- Cache for Windows (x86-32) 2007.1.3 (Build 607) Wed Oct 17 2007 02:12:09 EDT ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2008, 11:25:40 |
|
||
|
select max(id)
|
|||
|---|---|---|---|
|
#18+
Для каждого field существует два-три id, т.е. строк в результате примерно 1/3 от общего количества. "Простой" запрос выполняется несколько секунд. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2008, 11:51:19 |
|
||
|
select max(id)
|
|||
|---|---|---|---|
|
#18+
lfПолмиллиона записей, поле field обычное (%String, индексируемое). Всего полей в таблице - 16 (т.е. field1, field2 и т.д.). Запрос умирает. А битмап индекс построили? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2008, 12:25:28 |
|
||
|
select max(id)
|
|||
|---|---|---|---|
|
#18+
lfДля каждого field существует два-три id, т.е. строк в результате примерно 1/3 от общего количества. "Простой" запрос выполняется несколько секунд. Ничего себе несколько секунд. В моем случае 21 секунда. :( А если попробовать одинаковые значения выкинуть в отдельную таблицу, и указывать в поле field ссылку на их ID. По идее, должно гораздо быстрее выполняться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2008, 12:29:19 |
|
||
|
select max(id)
|
|||
|---|---|---|---|
|
#18+
=Dimon=Ничего себе несколько секунд. В моем случае 21 секунда. :( Но ведь несколько! =Dimon=одинаковые значения выкинуть в отдельную таблицу, и указывать в поле field ссылку на их ID Праильное решение! (с) из выступления Г.Хазанова Там использовать связь один ко многим. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2008, 09:10:09 |
|
||
|
|

start [/forum/topic.php?fid=39&msg=35673125&tid=1558659]: |
0ms |
get settings: |
14ms |
get forum list: |
26ms |
check forum access: |
7ms |
check topic access: |
7ms |
track hit: |
58ms |
get topic data: |
18ms |
get forum data: |
4ms |
get page messages: |
88ms |
get tp. blocked users: |
2ms |
| others: | 347ms |
| total: | 571ms |

| 0 / 0 |
