|
Можно ли обойти ограничение по количеству экстентов
|
|||
---|---|---|---|
#18+
Добрый день . Выполнял импорт базы данных в один спейс, без флага -ss , на загрузке одной из таблиц , которая была ранее фрагментирована по спейсам , импорт выдал ошибку Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
При проверке утилитой oncheck показывает что утилита dbimport правильно показывает размеры экстентов и в данной таблице их всего 3 Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30.
То есть , я правильно понимаю что проблема не в экстентах , а в максимальном размере таблицы ? Подскажите можно ли как то обойти данную ошибку или все таки придется эту таблицу фрагментировать ? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2010, 12:45 |
|
Можно ли обойти ограничение по количеству экстентов
|
|||
---|---|---|---|
#18+
Да, придётся фрагментировать. Если IDS 11.50 - можно фрагментировать в один dbspace... ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2010, 14:06 |
|
Можно ли обойти ограничение по количеству экстентов
|
|||
---|---|---|---|
#18+
нет ids 9.4 . Так в нем я не помню такой возможности ( ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2010, 14:15 |
|
Можно ли обойти ограничение по количеству экстентов
|
|||
---|---|---|---|
#18+
Нельзя фрагментировать в одном dbspace. В несколько можно. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2010, 15:38 |
|
Можно ли обойти ограничение по количеству экстентов
|
|||
---|---|---|---|
#18+
LIMITS IN IBM INFORMIX DYNAMIC SERVER Data pages per fragment | 16,775,134 ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2010, 16:17 |
|
Можно ли обойти ограничение по количеству экстентов
|
|||
---|---|---|---|
#18+
KyRo row1 varchar(250), row2 varchar(250), row3 varchar(250), row4 varchar(250), row5 varchar(250) С экстентами и максимальным размером разобрались, но меня вот что умиляет - что этот максимальный размер превышен всего при 50 млн.строк (т.е. всего по 3(три) строки на страницу), а всему виной странная, (если не сказать сильнее) структура таблица с varchar. Если уж взяли такой тип данных то на кой резервировать минимальный размер в 250 и, в итоге, 5*250=1250 пустых байт ? Ведь это не lvarchar и не char, а именно varchar и его максимальный размер только 255. Так какой смысл использовать здесь этот тип данных и резервировать почти максимальный размер ? Что можно сэкономить на этом типе при таких параметрах - 5 байт ? Уже судя по этому можно видеть квалификацию проектировщика БД и архитектора системы.... Если проанализировать прикладные данные и увидеть, _например_, что row1-5 в среднем заполнены только на четверть, то при более правильном указании (хотя бы varchar(50) ) на страницу в среднем будет помещаться уже в 5 раз больше строк, а значит скорость чтения данных с диска будет выше и общее кол-во операций вв/выв будет на порядок меньше. Я уж не говорю об экономии дискового пространства и возникшей проблемы с фрагментированием. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2010, 19:59 |
|
Можно ли обойти ограничение по количеству экстентов
|
|||
---|---|---|---|
#18+
vasilis, Я, конечно, извиняюсь, но мне кажется, что столбец varchar(250) реально занимает на диске один байт (длина строки) плюс сама строка как она есть. Если пустая - то ноль байт строки. Поэтому так ли критично, 250 там, 255 или 200, если строки в основном короткие? Ну, а если они по 250 байтов длиной - так тому и быть... Вобщем, суть предыдущего сообщения от меня ускользает почему-то... ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2010, 21:02 |
|
Можно ли обойти ограничение по количеству экстентов
|
|||
---|---|---|---|
#18+
DaugavaНельзя фрагментировать в одном dbspace. В несколько можно. Можно, но только на уровне tablespace для IDS 10.x, IDS 11.x ... :) Для IDS 9.40, действительно, нельзя. С уважением, Вадим. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2010, 22:22 |
|
Можно ли обойти ограничение по количеству экстентов
|
|||
---|---|---|---|
#18+
KyRo, Читай структуру страницы tablespace tablespace. Поскольку длина слота зависит от длины других слотов, то соответственно макс. число экстендов зависит от числа индексов, их структуры, и числа спец. полей. Более детально см. FAQ - http://www.sql.ru/faq/faq_topic.aspx?fid=924 Обратите Ваше внимание на следующий документ - http://www.iiug.org/library/ids_11/UpgradetoIDS1150.pdf ... сравнение IDS 9.40 и IDS 11.x. С уважением, Вадим Головский. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2010, 22:29 |
|
Можно ли обойти ограничение по количеству экстентов
|
|||
---|---|---|---|
#18+
vasilisKyRo row1 varchar(250), row2 varchar(250), row3 varchar(250), row4 varchar(250), row5 varchar(250) С экстентами и максимальным размером разобрались, но меня вот что умиляет - что этот максимальный размер превышен всего при 50 млн.строк (т.е. всего по 3(три) строки на страницу), а всему виной странная, (если не сказать сильнее) структура таблица с varchar. Если уж взяли такой тип данных то на кой резервировать минимальный размер в 250 и, в итоге, 5*250=1250 пустых байт ? Ведь это не lvarchar и не char, а именно varchar и его максимальный размер только 255. Так какой смысл использовать здесь этот тип данных и резервировать почти максимальный размер ? Что можно сэкономить на этом типе при таких параметрах - 5 байт ? Уже судя по этому можно видеть квалификацию проектировщика БД и архитектора системы.... Если проанализировать прикладные данные и увидеть, _например_, что row1-5 в среднем заполнены только на четверть, то при более правильном указании (хотя бы varchar(50) ) на страницу в среднем будет помещаться уже в 5 раз больше строк, а значит скорость чтения данных с диска будет выше и общее кол-во операций вв/выв будет на порядок меньше. Я уж не говорю об экономии дискового пространства и возникшей проблемы с фрагментированием. По дефолту, то есть когда второй параметр опущен, резервируется 0 байт : Specifying the minimum reserved space (r) parameter is optional. This value can range from 0 to 255 bytes but must be less than the maximum size (m) of the VARCHAR column. If you do not specify any minimum value, it defaults to 0. Так что varchar(250) эквивалентно varchar(250, 0), а не varchar(250, 250). ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2010, 01:38 |
|
Можно ли обойти ограничение по количеству экстентов
|
|||
---|---|---|---|
#18+
ЧемберленЯ, конечно, извиняюсь, Да чего там извиняться, это мне надо извинится перед ТС и сообществом. Тормознул, не посмотрел в синтаксис, сбило то, что на странице всего по 3 строки в среднем (значит эти поля таки заполняются). Чемберлен Вобщем, суть предыдущего сообщения от меня ускользает почему-то... А если бы было написано row1 varchar(255,250), row2 varchar(255,250), row3 varchar(255,250), row4 varchar(255,250), row5 varchar(255,250) тогда смысл написанного мною был бы понятен ? Если нет - снова извинюсь :) ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2010, 15:41 |
|
Можно ли обойти ограничение по количеству экстентов
|
|||
---|---|---|---|
#18+
ВыбегаллоТак что varchar(250) эквивалентно varchar(250, 0), а не varchar(250, 250). Да, спасибо, уже разобрался и, испытывая чувство стыда, ухожу работать... ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2010, 15:43 |
|
|
start [/forum/topic.php?fid=44&fpage=24&tid=1607604]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
38ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
71ms |
get tp. blocked users: |
1ms |
others: | 17ms |
total: | 172ms |
0 / 0 |