







|
MySQL.RU - Webboard
Вернуться
Нумерация строк в таблице (Alex) 14/11/2008 - 00:52:19
Re: Нумерация строк в таблице (bac) 14/11/2008 - 01:55:56
Re: Нумерация строк в таблице (Kirill) 14/11/2008 - 11:19:15
Re: Нумерация строк в таблице (Alex) 14/11/2008 - 19:16:15
Re: Нумерация строк в таблице (bac) 14/11/2008 - 22:46:20
> Original message text:
> From: Alex - 14/11/2008 - 00:52:19
> Subject:Нумерация строк в таблице
> -----------------
> Столкнулся с такой проблемой:
> select * from table limit 25 offset 10 выполняется 0.00001 секунд
> select * from table limit 25 offset 1000000 выполняется 10 секунд
> (таблица очень огромная). Т.е. выборка 25 строк с какой-то очень дальней строки делается очень долго. При этом порция 25 строк в начале таблицы выбираются быстро. Т.е. конструкция limit на больших таблицах не эффективна, а выборка в 10 секунд не подходит. Я эксперементировал и на динамических таблицах и на фиксированных скорость сильно не изменяется (время выборки с 10 уменьшается до 8 секунд).
> Какой есть способ быстро добраться до дальних строк?
> Скажем выборка
> select * from table where id>1000000 limit 25
> выполняется очень быстро, но только поле id - это не номер строки, а номер записи. А они у немя не совпадают...
> Дополнительно создавать столбец с номерами строк? Это как-то не красиво получается... Excell получится, а не реляционная база.
> Опять же как нумеровать новый столбец, если id и так автоинкрементный PK ?
>
From: bac - 14/11/2008 - 22:46:20
Subject:Нумерация строк в таблице
-----------------
Если это касается только последних страниц то все просто
Select * from (
Select * from table ORDER BY id DESC LIMIT 1000
) s
ORDER BY id LIMIT 25 offset 10
Таким образом мы вытащим последних 1000 записей, а уж их то и смотри не хочу
[Это сообщение - спам!]
Последние сообщения из форума
Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL,
версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
34514
|
|