Этот сайт не наркоманов. Это сайт программистов.

Добро пожаловать на Пыху!

Логин:
Пароль:
 

Нет прописки? Зарегистрируйся!

Новости

Мы в твиттере!
Мы вконтакте!
Мы на яндексе!

Краснодарское время: 25 Май, 2012, 04:49:42

Страниц: [1] 2 3
Печать
Автор Тема: INNODB - гавно ))))  (Прочитано 926 раз)
0 Пользователей и 1 Гость смотрят эту тему.
AlexB    ↓ 
15 Октябрь, 2010, 06:43:36
НЕ ХУЕТА! ХУЕТА!

Группа: в ухо

Карма: 89
Сообщений: 3425
Сила слова: 2.6

Наступил тут на грабли.
У меня таблица в которой порядка 20 столбцов типа text, плюс еще всякие int-ты и varchar-ы по мелочам. Причем записей в таблице всего ничего - около 20.
Все нормально работало, но в какой-то момент данные перестали сохраняться.
Через 3 часа ебатория выяснился забавный нюанс:
- Суммарная длина строки в INNODB не может быть сильно больше 8000 байт!
- Позвольте, а какже поля text и blob?, резонно спросите вы. Они же специально созданы для больших объемов.
- А вот так! Первые 768 байт блоба все равно жестко пишутся в строку и суммируются! Превысил 8000, получи Got error 139 from storage engine.
Пока решил проблему переделав таблицы в старый добрый myisam. А что еще делать? Либо джоинить данные в общие text, либо бить таблицу на несколько. И то и другое - пиздец костыль. В общем, я расстроен.
« Последнее редактирование: 15 Октябрь, 2010, 06:43:36 от AlexB » Записан

md5    ↓ 
15 Октябрь, 2010, 06:12:44 , спустя
НЕ ХУЕТА! ХУЕТА!

выезд, апартаменты, массаж, стриптиз, подружки, дорого
Группа: в ухо

Карма: не нужна
Сообщений: 10495
Сила слова: 1.19

Даешь свой тип таблиц!! PyhaDB!
Записан

8: Undefined variable: str
Файл: /home/pyha/pyha.ru/forum/bbcode/Xbb/Tags/Man.php
Строка: 18
adw0rd: мудень блять, я уже фиксить стал эту фигню :)
md5: вуахахахаха
AlexB    ↓ 
15 Октябрь, 2010, 06:46:30 , спустя 33 минуты 46 секунд
НЕ ХУЕТА! ХУЕТА!

Группа: в ухо

Карма: 89
Сообщений: 3425
Сила слова: 2.6

Дальнейшее исследование показало, что 8000 тоже число достаточно условное.
... something less than half a database page (approximately 8000 bytes)
Т.е., наверно можно пересобрать базу, с другими параметрами, но вообще ну его нах ...  в любом случае западло, что он блобы суммирует.
Записан

vasa_c    ↓ 
15 Октябрь, 2010, 06:51:02 , спустя 4 минуты 32 секунды
НЕ ХУЕТА! ХУЕТА!

Группа: в ухо

Карма: 81
Сообщений: 2459
Сила слова: 3.29

Даешь свой тип таблиц!! PyhaDB!
На питоне!
 
AlexB, а в документации об этом есть?
Записан

AlexB    ↓ 
15 Октябрь, 2010, 06:59:08 , спустя 8 минут 6 секунд
НЕ ХУЕТА! ХУЕТА!

Группа: в ухо

Карма: 89
Сообщений: 3425
Сила слова: 2.6

Да, причем про 8000 в одном месте:
http://dev.mysql.com/doc/refman/5.1/en/innodb-restrictions.html
А про нюанс с началом строки в другом:
http://dev.mysql.com/doc/refman/5.1/en/innodb-file-space.html
 
Кстати, сам только что в оф. доке нашел. Ща еще повнимательней почитаю ...
Записан

AlexB    ↓ 
15 Октябрь, 2010, 07:05:36 , спустя 6 минут 28 секунд
НЕ ХУЕТА! ХУЕТА!

Группа: в ухо

Карма: 89
Сообщений: 3425
Сила слова: 2.6

Прчем заметь, как изъебисто написано по первой ссылке:
• The maximum row length, except for variable-length columns ...
Этот except меня с толку сбивал, оттого и долго искал причину ...
Записан

Абырвалг    ↓ 
15 Октябрь, 2010, 08:11:42 , спустя 1 час 6 минут 6 секунд
НЕ ХУЕТА! ХУЕТА!

PHP Infected, симфоеб, маконенавистник
Группа: Джедаи

Карма: 80
Сообщений: 6096
Сила слова: 1.31

я нихуя не понял. Так а что делать-то теперь?
Записан

PHP does the job since 1995
Пожалуйста, не надо делать двойные клики по ссылкам. Это создает избыточную нагрузку на сервер
Status    ↓ 
15 Октябрь, 2010, 08:20:32 , спустя 8 минут 50 секунд
НЕ ХУЕТА! ХУЕТА!

Редкостная сволочь
Группа: Джедаи

Карма: 57
Сообщений: 1447
Сила слова: 3.94

Принятый по умолчанию размер страницы в InnoDB составляет 16 Кб. Повторно скомпилировав код, можно установить значение от 8 Кб до 64 Кб. В версиях <= 3.23.40 InnoDB максимальная длина строки несколько меньше половины размера страницы базы данных. Начиная с релиза исходного кода версии 3.23.41 столбцы типов BLOB и TEXT могут достигать 4 Гб, общая длина строк также не должна превышать 4 Гб. Поля с размером меньше или равным 128 байтам в InnoDB не хранятся на отдельных страницах. После того как InnoDB изменит строку, сохранив длинные поля на отдельных страницах, оставшаяся длина строки должна быть меньше половины страницы базы данных. Максимальная длина ключа - 7000 байтов.
Записан

Заткнись говно, я воевал!
kostyl    ↓ 
15 Октябрь, 2010, 08:28:07 , спустя 7 минут 35 секунд
НЕ ХУЕТА! ХУЕТА!

занедельный антипаттерн
Группа: Джедаи

Карма: 60
Сообщений: 3522
Сила слова: 1.7

да, блядь. Люди с php.ru нихуя не понимают!
Записан

качество жизни обратно пропорционально количеству лени
Дмитрий    ↓ 
15 Октябрь, 2010, 08:45:07 , спустя 17 минут
НЕ ХУЕТА! ХУЕТА!

Группа: Адекваты

Карма: 6
Сообщений: 295
Сила слова: 2.03

Версия MySQL 6.0 пока находится в стадии альфа-тестирования. Первоначально было принято решение о создании версии 5.2, однако вскоре эта версия была переименована в 6.0.
Одно из основных нововведений версии 6.0 — новый тип таблиц Falcon, разработанный в качестве потенциальной замены для InnoDB компании InnoBase, приобретённой компанией Oracle. Полный список изменений можно увидеть на официальном сайте
Дождемся...
Записан

Надо много пережить, чтобы стать человеком. © Антуан де Сент-Экзюпери
Абырвалг    ↓ 
15 Октябрь, 2010, 08:50:45 , спустя 5 минут 38 секунд
НЕ ХУЕТА! ХУЕТА!

PHP Infected, симфоеб, маконенавистник
Группа: Джедаи

Карма: 80
Сообщений: 6096
Сила слова: 1.31

еще есть maria db
Записан

PHP does the job since 1995
Пожалуйста, не надо делать двойные клики по ссылкам. Это создает избыточную нагрузку на сервер
SpartakuS    ↓ 
15 Октябрь, 2010, 10:10:07 , спустя 1 час 19 минут 22 секунды
НЕ ХУЕТА! ХУЕТА!

Группа: Адекваты

Карма: 32
Сообщений: 2444
Сила слова: 1.31

Абырвалг, а sveta db есть? Мне просто Маши не очень нравятся. :D
Записан


цска ебаное гавно.
phpdude    ↓ 
15 Октябрь, 2010, 10:21:06 , спустя 10 минут 59 секунд
НЕ ХУЕТА! ХУЕТА!

я - ЭМО
Группа: в ухо

Карма: 344
Сообщений: 20790
Сила слова: 1.65

roza db
Записан

забанен. могу забанить других, пишите в личку
BEER. Helping ugly people have sex since 1862.
krasun    ↓ 
15 Октябрь, 2010, 11:34:01 , спустя 1 час 12 минут 55 секунд
НЕ ХУЕТА! ХУЕТА!

Группа: Джедаи
Группа: Джедаи

Карма: 41
Сообщений: 1379
Сила слова: 2.97

maria bd
Записан
Frozzeg    ↓ 
15 Октябрь, 2010, 11:46:24 , спустя 12 минут 23 секунды
НЕ ХУЕТА! ХУЕТА!

Группа: Пятросянище

Карма: 92
Сообщений: 5499
Сила слова: 1.67

dbsm
Записан

Эксперт — это человек, который в узкой области допустил все возможные ошибки. © Нильс Бор.
Отложить на завтра — значит впасть в рекурсию. © Frozzeg
Страниц: [1] 2 3
Печать
 

Перейти в:  

Этот топик скрыли: adw0rd, artoodetoo