![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| oppo |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 15.7.2006 Репутация: нет Всего: нет |
Доска объявлений, их например 1000. Задача после удаления администратором объявления сохранить цифровой порядок нумерации объявлений. Пока вижу ,например после удаления записи 995 , делать от этого пункта вниз update id (-1) - получается куча запросов .. Как это бы оптимизировать .Спасибо.
|
|||
|
||||
| rMaveric |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 375 Регистрация: 18.7.2003 Репутация: нет Всего: 6 |
А для чего это вообще надо??? Не вижу смысла
-------------------- |
|||
|
||||
| oppo |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 15.7.2006 Репутация: нет Всего: нет |
|
|||
|
||||
| SelenIT |
|
||||
![]() баг форума ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3996 Регистрация: 17.10.2006 Где: Pale Blue Dot Репутация: 9 Всего: 401 |
1) Использование аутоинкрементного ID для нумерации - одно из наитягчайших преступлений против самой идеи реляционных БД (да и любых других по сути) и никогда не остается без наказания (в форме лишнего гемора, нежданных коллизий, падения быстродействия и т.п. - вплоть до дедлоков). Для нумерации нужно завести отдельное поле.
2) Если база MySQL и версия позволяет, обновлять это поле можно одним запросом - присвоить ему кол-во записей с id, меньше или равным id данной записи (используя join таблицы с ней самой или подзапрос). Вечером попробую набросать пример (сейчас просто под рукой нет инструментария)... 3) Какое начальство запрещает считать порядковый номер записей непосредственно в выборке, вообще не напрягая этим базу? упс... что-то я тоже усложнил задачу в п.2...
это разве куча? Это сообщение отредактировал(а) SelenIT - 6.6.2007, 15:08 -------------------- Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму! |
||||
|
|||||
| oppo |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 15.7.2006 Репутация: нет Всего: нет |
спасибо (я виноват неточно -номера планируется делать отдельным полем (не id) )
|
|||
|
||||
| rMaveric |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 375 Регистрация: 18.7.2003 Репутация: нет Всего: 6 |
Да все равно отдельным полем или в качестве ключа. Сама идея является ошибочной, и твоя задача как реализатора проекта сделать как нужно, а не так как хочет начальство. Если надо объясни начальству чем это грозит.
-------------------- |
|||
|
||||
| MoLeX |
|
|||
![]() Местный пингвин ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 4076 Регистрация: 17.5.2007 Репутация: 7 Всего: 140 |
И как ты допустил начальство к БД???
-------------------- Amazing |
|||
|
||||
| oppo |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 15.7.2006 Репутация: нет Всего: нет |
есть ТЕХ. ЗАД. в нем это указано КАК ОБЯЗАТЕЛЬНЫЙ ПУНКТ - понятно я высказал свое ФЭ ....
|
|||
|
||||
| rMaveric |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 375 Регистрация: 18.7.2003 Репутация: нет Всего: 6 |
oppo, процитируй пожалуйста этот пункт.
-------------------- |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Базы Данных | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |