|
|
|
Таблица information_schema.statistics
|
|||
|---|---|---|---|
|
#18+
Всем привет. В таблице information_schema.statistics содержится информация об индексах таблиц БД. Выполняю такой запрос: Код: sql 1. 2. 3. 4. Получаю некий результат. Все ок, кроме одного: последовательности записей. Сначала почему-то идут индексы типа foreign_key, затем primary, затем unique. А мне нужно primary, unique, foreign. Поля для сортировки в таблице не нашел. Seq_in_index использую для сортировки по названию столбца внутри каждого индекса. А как управлять последовательностью самих индексов. Если провести эксперимент, и убрать group_concat и group by - результат возвращается в той последовательности, в которой надо. Почему-то group by меняет эту последовательность. Как вернуть обычную? Заранее спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2014, 17:30:40 |
|
||
|
Таблица information_schema.statistics
|
|||
|---|---|---|---|
|
#18+
Ну как обычно ) Если я выбираю телевизор для покупки - он нигде не продается, все раскуплено. Если я сталкиваюсь с какой-то проблемой - с ней никто больше не сталкивался ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2014, 18:00:33 |
|
||
|
Таблица information_schema.statistics
|
|||
|---|---|---|---|
|
#18+
После group by добавить соотв. order by... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2014, 18:02:28 |
|
||
|
Таблица information_schema.statistics
|
|||
|---|---|---|---|
|
#18+
Что значит соответствующий ORDER BY? По какому конкретно полю сортировать? Я не нашел! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2014, 18:06:20 |
|
||
|
Таблица information_schema.statistics
|
|||
|---|---|---|---|
|
#18+
Поступи дубово и сортируй по LEFT(index_name,3). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2014, 20:00:49 |
|
||
|
Таблица information_schema.statistics
|
|||
|---|---|---|---|
|
#18+
Туплю я, наверное, еще более дубово ) Можешь пояснить, что означает твоя сортировка? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2014, 21:03:56 |
|
||
|
Таблица information_schema.statistics
|
|||
|---|---|---|---|
|
#18+
urukhayЕсли провести эксперимент, и убрать group_concat и group by - результат возвращается в той последовательности, в которой надо.Это мираж, фикция. Которая исчезает при малейшем движении. Посмотрите на таблицу INFORMATION_SCHEMA.TABLE_CONSTRAINTS. Если в ней поле CONSTRAINT_NAME совпадет с INFORMATION_SCHEMA.STATISTICS.INDEX_NAME (что не факт, насколько я понимаю), то сможете сделать нужную сортировку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2014, 21:34:58 |
|
||
|
Таблица information_schema.statistics
|
|||
|---|---|---|---|
|
#18+
авторЭто мираж, фикция. А с чем связано такое поведение? Ну это так, чисто ради любопытства ... авторЕсли в ней поле CONSTRAINT_NAME совпадет с INFORMATION_SCHEMA.STATISTICS.INDEX_NAME (что не факт, насколько я понимаю) Они совпадают, но не для всех записей таблицы STATISTICS! Т.е. для типов констрейнтов PRIMARY и FOREIGN KEY совпадения имеются. А вот для обычных индексов в таблице STATISTICS есть запись, а в таблице TABLE_CONSTRAINTS соответствующей записи уже нет! Да и меня смущает то, что если делать экспорт таблицы средствами pma, то в полученном CREATE TABLE последовательность индексов и ключей идет в правильном порядке: PRIMARY, KEY, CONSTRAINT. Значит как-то это сделать можно, логично? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2014, 09:41:38 |
|
||
|
Таблица information_schema.statistics
|
|||
|---|---|---|---|
|
#18+
urukhayавторЭто мираж, фикция. А с чем связано такое поведение? Ну это так, чисто ради любопытства ...Скорее всего связано с хронологическим порядком создания индексов. urukhayА вот для обычных индексов в таблице STATISTICS есть запись, а в таблице TABLE_CONSTRAINTS соответствующей записи уже нет!Логично, обычный индекс не связан с констрейнтами. Делайте внешнее соединение. urukhayДа и меня смущает то, что если делать экспорт таблицы средствами pma, то в полученном CREATE TABLE последовательность индексов и ключей идет в правильном порядке: PRIMARY, KEY, CONSTRAINT. Значит как-то это сделать можно, логично?Тут неизвестно. Либо таки совпадение. Либо используется та же таблица STATISTICS. Либо используется результат команды SHOW CREATE TABLE, которая вполне может использовать данные, невидимые через таблицы INFORMATION_SCHEMA. Если очень интересно - включите полное логирование запросов в MySQL и выполните эту операцию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2014, 09:54:39 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=38791090&tid=1834006]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
38ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
| others: | 198ms |
| total: | 316ms |

| 0 / 0 |
