Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Индексы поменяли порядок следования строк / 9 сообщений из 9, страница 1 из 1
07.10.2013, 23:25:31
    #38419539
pheophan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Индексы поменяли порядок следования строк
Была таблица со столбцами: id (primary key), idТатьи, idТэга.
Так как выборка с ней работала медленно, создал ей индекс primary сразу на 2 поля - idТатьи, idТэга, а поле id вообще удалил.
Все работает, но поменялась структура: при добавлении в базу, записи идут не друг за другом, а сортируются сначала по idСтатьи, а затем и по idТэга. В результате тэги по статьям выводятся не в том порядке, в котором я их добавлял, а по возрастанию id. Можно ли это исправить?
...
Рейтинг: 0 / 0
07.10.2013, 23:39:22
    #38419546
ScareCrow
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Индексы поменяли порядок следования строк
order by
...
Рейтинг: 0 / 0
07.10.2013, 23:50:20
    #38419552
pheophan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Индексы поменяли порядок следования строк
Вы не поняли вопрос, либо я ответ. Как сортировкой можно расположить записи в порядке, в котором я их добавлял? Приведите, пожалуйста, пример
...
Рейтинг: 0 / 0
08.10.2013, 00:40:14
    #38419566
MikkiMouse
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Индексы поменяли порядок следования строк
pheophan,

Все, теперь уже никак - вы удалили именно то поле, по которому можно было отсортировать.
...
Рейтинг: 0 / 0
08.10.2013, 08:55:17
    #38419686
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Индексы поменяли порядок следования строк
pheophanВы не поняли вопрос, либо я ответ. Как сортировкой можно расположить записи в порядке, в котором я их добавлял? Вы не поняли, что такое реляционная БД вообще. Саого понятия не поняли. В частности, в ней НЕ СУЩЕСТВУЕТ понятия порядка следования записей, если не указан ORDER BY.

Есть поле (скажем, timestamp), в котором данные идут строго по возрастанию или убыванию по порядку их ввода в БД? сортируйте по нему и получайте нужный порядок. Нет? всё, сведения о последовательности ввода утрачены безвозвратно, в рамках имеющихся данных задача нерешаема.
...
Рейтинг: 0 / 0
08.10.2013, 11:36:05
    #38419931
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Индексы поменяли порядок следования строк
pheophanБыла таблица со столбцами: id (primary key), idТатьи, idТэга.
Так как выборка с ней работала медленно, создал ей индекс primary сразу на 2 поля - idТатьи, idТэга, а поле id вообще удалил.
Все работает, но поменялась структура: при добавлении в базу, записи идут не друг за другом, а сортируются сначала по idСтатьи, а затем и по idТэга. В результате тэги по статьям выводятся не в том порядке, в котором я их добавлял, а по возрастанию id. Можно ли это исправить?

Можно , Добавь нужный ORDER BY в запрос.
...
Рейтинг: 0 / 0
08.10.2013, 11:38:09
    #38419940
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Индексы поменяли порядок следования строк
pheophanВы не поняли вопрос, либо я ответ. Как сортировкой можно расположить записи в порядке, в котором я их добавлял? Приведите, пожалуйста, пример

Записи в таблице не располагаются ни в каком порядке.
То, что ты может быть видишь, как эффект, что записи отсортированы в запросе, является случайностью.
Будет другой запрос или другой план -- будет другой порядок записей в наборе.

Единственный способ задать какой-то порядок следования записей в запросе -- написать фразу ORDER BY.
...
Рейтинг: 0 / 0
08.10.2013, 15:29:30
    #38420479
pheophan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Индексы поменяли порядок следования строк
Хорошо, я понял верну дамп базы с полем I'd и проставлю индексы заново
...
Рейтинг: 0 / 0
08.10.2013, 15:46:26
    #38420509
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Индексы поменяли порядок следования строк
pheophan,

А что, в самой статье не хранится ее дата? Почему бы по ней не сортировать?
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Индексы поменяли порядок следования строк / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]