|
Растолкуйте про ошибку на составной ключ с utf8(unicode_ci_ai)
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, и тут я понял, что определенно не хочу знать, с какой целью используется тип хранения десятичных значений двойной точности при использовании целочисленного значения индекса. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2016, 22:44 |
|
Растолкуйте про ошибку на составной ключ с utf8(unicode_ci_ai)
|
|||
---|---|---|---|
#18+
rdb_dev, ну зато ты другое хочешь знать. А без понимания как хранятся ключи индекса, не поймёшь откуда ограничения берутся ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2016, 22:54 |
|
Растолкуйте про ошибку на составной ключ с utf8(unicode_ci_ai)
|
|||
---|---|---|---|
#18+
rdb_devМне так удобнее и привычнее. Предпочитаю видеть все ограничения сразу в одном месте, а не бродить глазами по хвостам полей. я про злое..чие двойные кавычки. Сразу видно человека, который таблицы мастрячит в дизайнере старого ибэксперта, без включенной опции "always capitalaize database object names", которая включена по умолчанию уже несколько лет как. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2016, 23:05 |
|
Растолкуйте про ошибку на составной ключ с utf8(unicode_ci_ai)
|
|||
---|---|---|---|
#18+
dimitrдлина каждого сегмента (плюс один байт для DESC) плюс догонка от 1 до 4 байт на сегмент. И весь ключ потом до 8 байт вверх округляется.Гм... это ты сортировку описал. А для мультисегментного индекса несколько иначе: после каждых 4-х байт данных добавляется байт с номером сегмента, длина сегмента выравнивается до 5-ти байт. Т.е. для ключа (SMALLINT, VARCHAR(158) CHARACTER SET UTF8 COLLATE UNICODE_CI_AI) получим 1-ый сегмент: (sizeof(double precision) + 4 - 1) / 4 * 5 = 11 / 4 * 5 = 10 2-ой сегмент: (158 * 6 + 4 - 1) / 4 * 5 = 951 / 4 * 5 = 1185 Вместе: максимальная длина ключа - 1195 байт, и это больше 1/4 страницы в 4КБ ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2016, 01:27 |
|
Растолкуйте про ошибку на составной ключ с utf8(unicode_ci_ai)
|
|||
---|---|---|---|
#18+
kdvСразу видно человека, который таблицы мастрячит в дизайнере старого ибэксперта, без включенной опции "always capitalaize database object names", которая включена по умолчанию уже несколько лет как. Никогда не пользовался CASE средствами (построителями), всё, по привычке, пишу в скрипте. Двойными кавычками пользуюсь из-за того, что названия объектов БД предпочитаю строчными буквами, а во входных параметрах процедур использовать как строчные, так и прописные буквы (например, "objectId"). ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2016, 09:03 |
|
Растолкуйте про ошибку на составной ключ с utf8(unicode_ci_ai)
|
|||
---|---|---|---|
#18+
kdv, почему вас так раздражают двойные кавычки? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2016, 09:13 |
|
Растолкуйте про ошибку на составной ключ с utf8(unicode_ci_ai)
|
|||
---|---|---|---|
#18+
rdb_devkdv, почему вас так раздражают двойные кавычки?Воспользуйтесь поиском, тема двойных кавычек разжёвана неоднократно. Не то, чтобы это было плохо само по себе, но есть особенности, которые в нетренированных руках приводят к какой-нибудь очередной лаже, с которой тут же бегут на форум жаловаться. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2016, 09:20 |
|
Растолкуйте про ошибку на составной ключ с utf8(unicode_ci_ai)
|
|||
---|---|---|---|
#18+
WildSeryНе то, чтобы это было плохо само по себе, но есть особенности, которые в нетренированных руках приводят к какой-нибудь очередной лаже, с которой тут же бегут на форум жаловаться. За полтора мегабайта исходников на C++ при написании интерфейсной библиотеки ORM системы, еще пока ни разу с подобными косяками не сталкивался. Все двойные кавычки внутри сишных строк прекрасно экранируются через backslash. Конечно, немного теряется читабельность таких строк, но я уже привык. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2016, 09:38 |
|
Растолкуйте про ошибку на составной ключ с utf8(unicode_ci_ai)
|
|||
---|---|---|---|
#18+
Дело не в экранировании. Просто вы через призму ORM c "проблемами" не столкнулись (ещё).. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2016, 10:32 |
|
Растолкуйте про ошибку на составной ключ с utf8(unicode_ci_ai)
|
|||
---|---|---|---|
#18+
Гаджимурадов Рустам, мне было бы интересно посмотреть на пример "проблемы". Есть что-нибудь на примете? По поиску ничего экстраординарного найти не могу. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2016, 10:36 |
|
Растолкуйте про ошибку на составной ключ с utf8(unicode_ci_ai)
|
|||
---|---|---|---|
#18+
rdb_dev> мне было бы интересно посмотреть на пример "проблемы". rdb_dev> По поиску ничего экстраординарного найти не могу. Да хоть create table (id int, "id" int, "Id" int, "iD" int) Как только у вас разработчики (или Вы один?) начнут фигачить запросы мимо ORM "напрямую" - Вы сразу почувствуете вкус жизни. Хотя по идее, Вы уже на уровне IBE, при разработке могли наткнуться на различные неудобства. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2016, 10:43 |
|
Растолкуйте про ошибку на составной ключ с utf8(unicode_ci_ai)
|
|||
---|---|---|---|
#18+
Гаджимурадов РустамДа хоть create table (id int, "id" int, "Id" int, "iD" int) Абсолютно жизнеспособный DDL, равносильный: Код: plsql 1. 2. 3. 4. 5. 6. 7.
Гаджимурадов РустамКак только у вас разработчики (или Вы один?) начнут фигачить запросы мимо ORM "напрямую" - Вы сразу почувствуете вкус жизни. Не начнут. Для доступа к элементам ORM системы сделана библиотека с объектным интерфейсом на виртуальных методах, которая и фигачит запросы к БД. Гаджимурадов РустамХотя по идее, Вы уже на уровне IBE, при разработке могли наткнуться на различные неудобства. Неа. ) CASE средствами пользуюсь только для мелких правок в уже существующих объектах БД, да и то не всегда, а всё остальное ручками в sql скрипте. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2016, 11:06 |
|
Растолкуйте про ошибку на составной ключ с utf8(unicode_ci_ai)
|
|||
---|---|---|---|
#18+
rdb_dev> Абсолютно жизнеспособный DDL, равносильный: rdb_dev> Не начнут. Ну-ну. Впрочем, каждый сам хозяин своим шишкам на лбу. > Никогда не пользовался CASE средствами > Неа. ) CASE средствами пользуюсь Пациент путается в показаниях. (с) Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2016, 11:26 |
|
Растолкуйте про ошибку на составной ключ с utf8(unicode_ci_ai)
|
|||
---|---|---|---|
#18+
Гаджимурадов РустамПациент путается в показаниях. (с) Не придирайся к словам! :) Имелось в виду, что я не пользуюсь CASE средствами для создания объектов БД. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2016, 11:30 |
|
Растолкуйте про ошибку на составной ключ с utf8(unicode_ci_ai)
|
|||
---|---|---|---|
#18+
Гаджимурадов Рустамrdb_dev> Абсолютно жизнеспособный DDL, равносильный: rdb_dev> Не начнут. Ну-ну. Впрочем, каждый сам хозяин своим шишкам на лбу. В моих правилах именования столбцов таблиц не использовать прописные (заглавные) буквы. Только строчные. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2016, 11:35 |
|
Растолкуйте про ошибку на составной ключ с utf8(unicode_ci_ai)
|
|||
---|---|---|---|
#18+
rdb_dev> В моих правилах именования столбцов О, далеко пойдёшь. Возвращайся, когда их начнут нарушать, а ты вовремя не заметишь. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2016, 12:04 |
|
Растолкуйте про ошибку на составной ключ с utf8(unicode_ci_ai)
|
|||
---|---|---|---|
#18+
Гаджимурадов Рустам, нет таких. Непосредственно метаданные БД меняю только я, а другие разработчики получают доступ к базе только через библиотеку, так как вообще не в курсе схемы данных. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2016, 12:10 |
|
Растолкуйте про ошибку на составной ключ с utf8(unicode_ci_ai)
|
|||
---|---|---|---|
#18+
Гаджимурадов РустамО, далеко пойдёшь. Я заметил, что мои правила сильно отличаются от тех, что приняты у большинства здесь отмечающихся. К примеру, все ключевые слова DML/DDL, кроме названий функций, предпочитаю писать исключительно прописными буквами (здесь предпочитают строчные); названия функций - первая прописная, остальные строчные; имена таблиц и полей - все строчные буквы, разделяя слова символом подчеркивания. Такая привычка осталась со времен моего занятия MS SQL Server и изменить привычке ой как не просто... ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2016, 12:19 |
|
Растолкуйте про ошибку на составной ключ с utf8(unicode_ci_ai)
|
|||
---|---|---|---|
#18+
о! у нас на форуме новый храбрый заяц. который, как он сам утверждает, зашугал весь лес... Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2016, 12:20 |
|
Растолкуйте про ошибку на составной ключ с utf8(unicode_ci_ai)
|
|||
---|---|---|---|
#18+
Мимопроходящий, в каком смысле "зашугал"? Что именно заставило тебя так думать? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2016, 12:21 |
|
Растолкуйте про ошибку на составной ключ с utf8(unicode_ci_ai)
|
|||
---|---|---|---|
#18+
hvladА для мультисегментного индекса несколько иначе... Спасибо, очень познавательно. Но это немного разорвало мне шаблон. Всегда думал, что для хранения SMALLINT в индексе нужно 2 байта (ну плюс всякие оверхеды, выравнивания там и т.д.) Но никак не 8 байт. Пожалуйста, в общих чертах объясните, почему так? Ну или ссылкой бросьте где написано. Потому что на первый взгляд это как-то... странно. Да, и это про какую версию ODS? Или это так со времен борланда? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2016, 12:33 |
|
Растолкуйте про ошибку на составной ключ с utf8(unicode_ci_ai)
|
|||
---|---|---|---|
#18+
Andrey_Да, и это про какую версию ODS? Или это так со времен борланда? Это со времён Джима. Изначальный дизайн. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2016, 12:37 |
|
Растолкуйте про ошибку на составной ключ с utf8(unicode_ci_ai)
|
|||
---|---|---|---|
#18+
Andrey_Но это немного разорвало мне шаблон. Всегда думал, что для хранения SMALLINT в индексе нужно 2 байта (ну плюс всякие оверхеды, выравнивания там и т.д.) Но никак не 8 байт. Пожалуйста, в общих чертах объясните, почему так? Ну или ссылкой бросьте где написано. Потому что на первый взгляд это как-то... странно.Все числовые типы данных (кроме BIGINT) приводятся к double в ключах индекса и нормализуются. Это позволяет не перестраивать индекс при смене одного числового типа данных на другой. Префиксная компрессия и отбрасывание нулей в хвосте ключа позволяет хранить в ключе минимальное кол-во значащих байт, а не все 8. Сомневающихся убедит gstat -r ;) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2016, 12:54 |
|
Растолкуйте про ошибку на составной ключ с utf8(unicode_ci_ai)
|
|||
---|---|---|---|
#18+
rdb_devК примеру, все ключевые слова DML/DDL, кроме названий функций, предпочитаю писать исключительно прописными буквами (здесь предпочитают строчные); Я бы не говорил за всех. Здесь не любят квотированные идентификаторы. А в каком регистре написаны ключевые слова и идентификаторы всем абсолютно пофиг. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2016, 13:08 |
|
|
start [/forum/topic.php?fid=40&msg=39252613&tid=1562142]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
48ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 155ms |
0 / 0 |