Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




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 - 01:55:56
Subject:Нумерация строк в таблице
-----------------
Ага.
По определению в реляционных базах данных записи в таблице лежат неупорядоченые.
И соответственно нет номера записи.
А LIMIT это мягко говоря засада. Смысл его, с начала производится выборка из базы а потом на нее накладывается LIMIT.
Поэтому в начале таблицы быстро работает, а чем дальше в лес ...

Значит вам нужно принимать какието усилиядля организации перелистывания.


[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
34514



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |