|
База в UTF8 таблица 50+ полей ~72000 byte
|
|||
---|---|---|---|
#18+
Подскажите, пытаюсь создать таблицу с кол-вом полей 65 Если win1251, то все норм, если utf8, то не дает пишет (это логично): авторStatement failed, SQLSTATE = 54000 unsuccessful metadata update -new record size of 72162 bytes is too big -TABLE TABLE1 Я так понял это из-за ограничения - Максимальный размер строки - 64kb ? Вопросы: - Правильно ли я понимаю причину? - Что делать (или только делить таблицу на несколько)? - Поможет ли увеличение размера страницы? текущий PAGE_SIZE 4096 ... |
|||
:
Нравится:
Не нравится:
|
|||
17.08.2019, 15:12 |
|
База в UTF8 таблица 50+ полей ~72000 byte
|
|||
---|---|---|---|
#18+
antox, - да - правильно проектировать базу данных - нет З.Ы. Размер страницы увеличь в любом случае, например до 8K. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.08.2019, 16:11 |
|
База в UTF8 таблица 50+ полей ~72000 byte
|
|||
---|---|---|---|
#18+
А можно увеличить размер в уже существующей базе? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.08.2019, 16:16 |
|
База в UTF8 таблица 50+ полей ~72000 byte
|
|||
---|---|---|---|
#18+
antox, можно через backup/restore ... |
|||
:
Нравится:
Не нравится:
|
|||
17.08.2019, 16:24 |
|
База в UTF8 таблица 50+ полей ~72000 byte
|
|||
---|---|---|---|
#18+
antox, Укороти отдельные строковые поля до реально нужных размеров. Для длинных полей используй тип "блоб текст" - все равно по таким полям поиск обычно идёт без индексов ("похож", "включает"). Разбей табличку на несколько 1:1. Вынеси логически связанные данные в отдельную сущность, https://support.microsoft.com/ru-ru/help/283878/description-of-the-database-normalization-basics ... |
|||
:
Нравится:
Не нравится:
|
|||
17.08.2019, 17:04 |
|
База в UTF8 таблица 50+ полей ~72000 byte
|
|||
---|---|---|---|
#18+
antox, еще можно на другую СУБД перейти. У посгтре, например, размер поля до 1ГБ, а размер записи - до 1.6ТБ. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.08.2019, 17:23 |
|
База в UTF8 таблица 50+ полей ~72000 byte
|
|||
---|---|---|---|
#18+
Ну или просто на четвёртую версию. Хотя я не помню какой из лимитов там снят: на запись в таблице или на результат выборки. Может даже и оба два. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
17.08.2019, 18:12 |
|
База в UTF8 таблица 50+ полей ~72000 byte
|
|||
---|---|---|---|
#18+
ёёёёё, Переходить никак не хочется. Странно, что у FB не так, как у постгре ... |
|||
:
Нравится:
Не нравится:
|
|||
17.08.2019, 18:17 |
|
База в UTF8 таблица 50+ полей ~72000 byte
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, 4 же ещё нет... Ждём ) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.08.2019, 18:20 |
|
База в UTF8 таблица 50+ полей ~72000 byte
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovНу или просто на четвёртую версию. Хотя я не помню какой из лимитов там снят: на запись в таблице или на результат выборки. Может даже и оба два. Вроде как оба прежние, не? Max Page sized на ODS 13 был до 32 КБ увеличен, да длина идентификаторов. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.08.2019, 18:23 |
|
База в UTF8 таблица 50+ полей ~72000 byte
|
|||
---|---|---|---|
#18+
ёёёёёВроде как оба прежние, не? Нет. Выборка там точно может быть шире 64к, ибо я это тестил. А вот насчёт записи в таблице я не уверен. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
17.08.2019, 18:30 |
|
База в UTF8 таблица 50+ полей ~72000 byte
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, выборка > 64K сделана ещё в тройке. Ты же сам там кое-что правил ... |
|||
:
Нравится:
Не нравится:
|
|||
17.08.2019, 18:32 |
|
База в UTF8 таблица 50+ полей ~72000 byte
|
|||
---|---|---|---|
#18+
ёёёёёразмер записи - до 1.6ТБ. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.08.2019, 18:55 |
|
База в UTF8 таблица 50+ полей ~72000 byte
|
|||
---|---|---|---|
#18+
antoxПодскажите, пытаюсь создать таблицу с кол-вом полей 65Дальше можно не читать ... |
|||
:
Нравится:
Не нравится:
|
|||
17.08.2019, 19:03 |
|
База в UTF8 таблица 50+ полей ~72000 byte
|
|||
---|---|---|---|
#18+
hvladantoxПодскажите, пытаюсь создать таблицу с кол-вом полей 65Дальше можно не читать Чего так? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.08.2019, 19:12 |
|
База в UTF8 таблица 50+ полей ~72000 byte
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovёёёёёВроде как оба прежние, не? Нет. Выборка там точно может быть шире 64к, ибо я это тестил. А вот насчёт записи в таблице я не уверен. Не получается больше 63 полей создать, на снапшоте проверил. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.08.2019, 19:33 |
|
База в UTF8 таблица 50+ полей ~72000 byte
|
|||
---|---|---|---|
#18+
ёёёёё, речь о ширине резалтсета, а не о количестве полей или размере записей ... |
|||
:
Нравится:
Не нравится:
|
|||
17.08.2019, 19:40 |
|
База в UTF8 таблица 50+ полей ~72000 byte
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
17.08.2019, 20:10 |
|
База в UTF8 таблица 50+ полей ~72000 byte
|
|||
---|---|---|---|
#18+
hvladantoxПодскажите, пытаюсь создать таблицу с кол-вом полей 65Дальше можно не читать Предрассудки ) Прекрасно удобнее 65, значит так и должно быть! Разбивать на таблицы 1:1 не вижу смысла никакого. В таблице уникальные характеристики одного объекта, зачем выносить под разным таблицам!? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.08.2019, 03:43 |
|
База в UTF8 таблица 50+ полей ~72000 byte
|
|||
---|---|---|---|
#18+
*мне удобнее 65... ... |
|||
:
Нравится:
Не нравится:
|
|||
18.08.2019, 03:44 |
|
База в UTF8 таблица 50+ полей ~72000 byte
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
18.08.2019, 03:45 |
|
База в UTF8 таблица 50+ полей ~72000 byte
|
|||
---|---|---|---|
#18+
Симонов Денис, А чем вызвана необходимость такого минимального ограничения? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.08.2019, 03:46 |
|
База в UTF8 таблица 50+ полей ~72000 byte
|
|||
---|---|---|---|
#18+
antoxА чем вызвана необходимость такого минимального ограничения? ещё раз. Нет такого ограничения на количество столбцов в таблице. Есть ограничения на максимальную длину записи в 64 К. Ограничение это появилось ещё во времена Interbase. Чем это продиктовано хз, но наверное были причины. antoxРазбивать на таблицы 1:1 не вижу смысла никакого. В таблице уникальные характеристики одного объекта, зачем выносить под разным таблицам!? и все столбцы конечно же символьного типа? Что прям без ссылок на другие таблицы (справочников нет)? Или у вас там всякая чепуха типа VARCHAR(10000)? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.08.2019, 11:58 |
|
База в UTF8 таблица 50+ полей ~72000 byte
|
|||
---|---|---|---|
#18+
antoxРазбивать на таблицы 1:1 не вижу смысла никакого. В таблице уникальные характеристики одного объекта, зачем выносить под разным таблицам!? В практике проектирования есть такая штука. Если в таблице получается дофигища столбцов, то их начинают делить на "первичные", т.е. важные, и "вторичные", т.е. не важные. Например, "первичные" это те, которые пользователь желает увидеть в первую очередь. "Вторичные" - которые для пользователя не так интересны, и смотреть их можно, например, при просмотре записи в виде "формы". (сюда обычно относятся всякие блобы, здоровенные варчары, и т.д.). К "вторичным" в том числе относятся стольбцы, которые могут на этапе ввода иметь пустое умолчательное значение или null. Так вот. "Вторичные" столбцы выносятся в отдельную таблицу, связанную с основной 1:1. Это не совсем про "лимит записи в 64к", а про производительность. Например, если речь идет о таблице с регистрационной информацией юзера на каком-нибудь сервисе, то первичными данными являются ID, nickname, плюс еще что-то. Вторичными являются адрес, телефон, город, пол, ФИО, и прочая информация, которая в некоторых случаях может быть не заполнена вообще никогда. Это означает, что в основной таблице запись для такого пользователя будет, а во "вторичной" таблице соответствующей записи не будет, экономится место. И, первичная таблица получается "короткой", к ней быстро идут обращения, быстрее идут ее джойны с другими таблицами, и т.д. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.08.2019, 13:11 |
|
База в UTF8 таблица 50+ полей ~72000 byte
|
|||
---|---|---|---|
#18+
Еще бывает параллельное занесение данных разными операторами (роботами, датчиками) на одну сущность, тогда выгоднее разнести в разные таблицы чтобы уйти от дэдлоков. Еще бывают необязательные атрибуты, если, напрмер, атрибут должен быть у 10% записей, выгодней вынести его в пристыкованную табличку и собрать обратно вьюхой. Апдейтебл вьюху уже предлагали? antoxмне удобнее 65...Есть у нас такое тяжелое наследие, хорошего мало, по факту ни разу не удобно. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2019, 11:49 |
|
|
start [/forum/topic.php?fid=40&fpage=21&tid=1560608]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
40ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
59ms |
get tp. blocked users: |
2ms |
others: | 12ms |
total: | 153ms |
0 / 0 |