|
Размер сегмента BLOB
|
|||
---|---|---|---|
#18+
Имеет вообще смысл в каких-нибудь случаях записывать содержимое BLOB сегментами мельче 64к? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
26.04.2015, 17:28 |
|
Размер сегмента BLOB
|
|||
---|---|---|---|
#18+
Нет. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
26.04.2015, 19:21 |
|
Размер сегмента BLOB
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovИмеет вообще смысл в каких-нибудь случаях записывать содержимое BLOB сегментами мельче 64к?Если так ставить вопрос, то зачем тебе вообще сегментированные блобы ? Пользуй поточные и забудь о сегментах. Сегменты полезны тем приложениям, которые пишут в блоб записи переменной длины и потом хотят читать их в том же виде ... |
|||
:
Нравится:
Не нравится:
|
|||
26.04.2015, 20:42 |
|
Размер сегмента BLOB
|
|||
---|---|---|---|
#18+
hvladзачем тебе вообще сегментированные блобы ? Пользуй поточные и забудь о сегментах. Не хочется связываться с недокументированными возможностями. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
26.04.2015, 21:04 |
|
Размер сегмента BLOB
|
|||
---|---|---|---|
#18+
Разговор же на эту тему не первый раз заходит. Поточными не то что мало кто пользуется - про них большинство даже и не знает. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
26.04.2015, 21:12 |
|
Размер сегмента BLOB
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, у меня есть мысль, что размер сегмента должен быть таким, чтобы он "четко" влезал на страницу БД. в данном случае размер сегмента в отношении размера страницы - вопрос производительности. Хорошо бы померять тестами, но может случиться точно такая же история, как с размером кластера и размером страницы. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.04.2015, 22:08 |
|
Размер сегмента BLOB
|
|||
---|---|---|---|
#18+
kdvможет случиться точно такая же история, как с размером кластера и размером страницы.а что там случилось? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.04.2015, 22:17 |
|
Размер сегмента BLOB
|
|||
---|---|---|---|
#18+
kdvу меня есть мысль, что размер сегмента должен быть таким, чтобы он "четко" влезал на страницу БД. в данном случае размер сегмента в отношении размера страницы - вопрос производительности. Вот из-за такого же подозрения я и создал топик. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
26.04.2015, 22:19 |
|
Размер сегмента BLOB
|
|||
---|---|---|---|
#18+
fd00chа что там случилось? например, страница 16к в большинстве случаев медленнее, чем 8к. Не прямо вот сильно, конечно, но вроде как на 1-5%. это есть и у Ривза в презентации http://www.firebirdsql.org/file/community/conference-2014/pdf/16_tpcc_presentation.pdf и Ковязин на днях тесты вставок делал (будет в материалах семинаров 19 мая в Праге и 5 июня в Москве), там тоже так же примерно. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.04.2015, 22:35 |
|
Размер сегмента BLOB
|
|||
---|---|---|---|
#18+
DS> Вот из-за такого же подозрения я и создал топик. Во-первых, 16к на страницу не влезут, придётся считать. Во-вторых, надо уж мерять тогда и, подозреваю, разными методами измерения ты получишь разные результаты. В-третьих, как бы то ни было - уверен, что это всё равно будут сущие копейки (если не в лучшую, то в худшую сторону уж точно), по сравнению с работой BLOB в целом. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
26.04.2015, 23:01 |
|
Размер сегмента BLOB
|
|||
---|---|---|---|
#18+
kdvнапример, страница 16к в большинстве случаев медленнее, чем 8кно ведь лучше 16к с глубиной индекса 3, чем 8к и 4 соответственно? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.04.2015, 23:05 |
|
Размер сегмента BLOB
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakovhvladзачем тебе вообще сегментированные блобы ? Пользуй поточные и забудь о сегментах. Не хочется связываться с недокументированными возможностями.??????? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.04.2015, 23:30 |
|
Размер сегмента BLOB
|
|||
---|---|---|---|
#18+
fd00chно ведь лучше 16к с глубиной индекса 3, чем 8к и 4 соответственно? это да, но в целом пока получается страница 16к чуть похуже чем 8к. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2015, 02:33 |
|
Размер сегмента BLOB
|
|||
---|---|---|---|
#18+
kdvfd00chно ведь лучше 16к с глубиной индекса 3, чем 8к и 4 соответственно? это да, но в целом пока получается страница 16к чуть похуже чем 8к. Но если глубина индекса больше трех - однозначно 16к? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2015, 03:48 |
|
Размер сегмента BLOB
|
|||
---|---|---|---|
#18+
GallemarНо если глубина индекса больше трех - однозначно 16к? если глубина индекса больше трех при размере страницы N, то уменьшить эту глубину можно или увеличив размер страницы до N*2, или уменьшив размер ключа. http://www.ibase.ru/devinfo/calcindex.htm я так понял, у тебя трабл с guid, которые не упаковываются, и превышают глубину 3 на странице 8к уже при нескольких миллионах записей? С guid не только в этом траблы, но еще и в скорости вставки и обновления - она в разы хуже чем для bigint. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2015, 09:43 |
|
Размер сегмента BLOB
|
|||
---|---|---|---|
#18+
kdv,нет. Мне IBAnalyst советовал увеличить размер страницы,аргументируя большой глубиной индекса ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2015, 09:45 |
|
Размер сегмента BLOB
|
|||
---|---|---|---|
#18+
Gallemar, по какому типу поля этот индекс построен? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2015, 09:46 |
|
Размер сегмента BLOB
|
|||
---|---|---|---|
#18+
На всякий случай: 1. сетевой ввод\вывод блобов буферизован на клиенте, например N вызовов get\put_segment с маленьким размером сегмента не приведёт к N сетевым обращениям 2. на сервере последняя (она же текущая) страница блоба также не пишется даже в кеш до полного заполнения или закрытия блоба 3. потоковые блобы действительно не описаны в Борландовской доке, я в шоке 4. в fb3 потоковые блобы можно читать\писать используя 32-битные размеры кусков ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2015, 09:52 |
|
Размер сегмента BLOB
|
|||
---|---|---|---|
#18+
Gallemar, ох, ё, какой же ты нудный! :-) на закладке indices выбираешь этот индекс, кликаешь copy, и сюда paste. Можешь имя индекса и таблицы поменять, если не хочешь светить. Но вообще сам вопрос, в целом, про "16к хуже чем 8к, и надо 16к" у меня вызывает только вот такую дилемму - надо помыться, а значит снять трусы. Но снимать трусы не хочется. Но помыться надо. Но снимать не хочется. И т.д. Надо в силу ряда причин увеличить размер страницы до 16к - значит увеличивайте. Да, максимум на несколько единиц процентов производительность в целом (по операциям со страницами) может стать хуже. Но чтобы это не стало хуже хотя бы из-за несоответствия кластера и page_size - ну переформатируй диск с БД на кластер 16к. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2015, 09:58 |
|
Размер сегмента BLOB
|
|||
---|---|---|---|
#18+
kdvGallemar, ох, ё, какой же ты нудный! :-) Я не нудный,я дотошный и любознательный :) kdvна закладке indices выбираешь этот индекс, кликаешь copy, и сюда paste. Можешь имя индекса и таблицы поменять, если не хочешь светить. Index Table Depth Keys Key Len Max Dup Total Dup Uniques Size, mb AvgFill PARTSPEC_IDX_ARTICUL PARTSPEC 4 268246740 21.86 3 50511 268196229 7999.31 95 Index Table Depth Keys Key Len Max Dup Total Dup Uniques Size, mb AvgFill PARTSPEC_IDX_DOCHEAD PARTSPEC 4 268246674 27.41 3 50581 268196093 9323.13 97 Index Table Depth Keys Key Len Max Dup Total Dup Uniques Size, mb AvgFill PARTSPEC_IDX_DOCKIND PARTSPEC 4 268246826 15.70 3 50581 268196245 6109.08 98 Index Table Depth Keys Key Len Max Dup Total Dup Uniques Size, mb AvgFill PARTSPEC_IDX_INDOCHEAD PARTSPEC 4 268248554 7.68 3 50581 268197973 4416.84 90 kdvНо вообще сам вопрос, в целом, про "16к хуже чем 8к, и надо 16к" у меня вызывает только вот такую дилемму - надо помыться, а значит снять трусы. Но снимать трусы не хочется. Но помыться надо. Но снимать не хочется. И т.д. Надо в силу ряда причин увеличить размер страницы до 16к - значит увеличивайте. Да, максимум на несколько единиц процентов производительность в целом (по операциям со страницами) может стать хуже. Но чтобы это не стало хуже хотя бы из-за несоответствия кластера и page_size - ну переформатируй диск с БД на кластер 16к. Уже, года два с 16к живу. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2015, 10:14 |
|
Размер сегмента BLOB
|
|||
---|---|---|---|
#18+
Симонов Денис, Индексы PARTSPEC_IDX_ARTICUL PARTSPEC_IDX_DOCHEAD PARTSPEC_IDX_DOCKIND PARTSPEC_IDX_INDOCHEAD PARTSPEC_IDX_MOVEDOCHEAD PK_PARTSPEC Под спойлером скрипт таблицы CREATE TABLE PARTSPEC ( DOCHEAD T_DOC NOT NULL /* T_DOC = INTEGER */, INDOCHEAD T_DOC NOT NULL /* T_DOC = INTEGER */, MOVEDOCHEAD T_DOC NOT NULL /* T_DOC = INTEGER */, ARTICUL T_ARTICUL NOT NULL /* T_ARTICUL = VARCHAR(30) NOT NULL */, ASRT T_ID default 0 NOT NULL /* T_ID = INTEGER NOT NULL */, DOC_DATE DATE NOT NULL, PLACE_INDEX T_CLIENT_INDEX NOT NULL /* T_CLIENT_INDEX = INTEGER */, OPERTYPE T_OPER_TYPE NOT NULL /* T_OPER_TYPE = INTEGER NOT NULL */, DOCKIND T_DOC_KIND NOT NULL /* T_DOC_KIND = INTEGER NOT NULL */, QUANTITY T_QUANTITY NOT NULL /* T_QUANTITY = DOUBLE PRECISION DEFAULT 0 NOT NULL */, CLOSEPER T_CLOSEPER /* T_CLOSEPER = INTEGER DEFAULT 0 NOT NULL */, PLACE2_INDEX T_ID /* T_ID = INTEGER NOT NULL */, OPERATION T_ID /* T_ID = INTEGER NOT NULL */, DOCTYPE T_ID /* T_ID = INTEGER NOT NULL */, INDOC_DATE T_DATE /* T_DATE = DATE NOT NULL */, INCLIENT_INDEX T_ID /* T_ID = INTEGER NOT NULL */, INOPERATION T_ID /* T_ID = INTEGER NOT NULL */, PRICERUB T_MONEY /* T_MONEY = DOUBLE PRECISION DEFAULT 0 NOT NULL */, PRICECUR T_MONEY /* T_MONEY = DOUBLE PRECISION DEFAULT 0 NOT NULL */, TAXHEAD T_ID /* T_ID = INTEGER NOT NULL */, INPRICERUB T_MONEY /* T_MONEY = DOUBLE PRECISION DEFAULT 0 NOT NULL */, INPRICECUR T_MONEY /* T_MONEY = DOUBLE PRECISION DEFAULT 0 NOT NULL */, INTAXHEAD T_ID /* T_ID = INTEGER NOT NULL */, NUMBER T_NUMBER /* T_NUMBER = INTEGER NOT NULL */ ); /******************************************************************************/ /*** Primary keys ***/ /******************************************************************************/ ALTER TABLE PARTSPEC ADD CONSTRAINT PK_PARTSPEC PRIMARY KEY (DOCHEAD, INDOCHEAD, MOVEDOCHEAD, ARTICUL, ASRT); /******************************************************************************/ /*** Indices ***/ /******************************************************************************/ CREATE INDEX PARTSPEC_IDX_ARTICUL ON PARTSPEC (ARTICUL, ASRT, DOCHEAD, INDOCHEAD, MOVEDOCHEAD); CREATE INDEX PARTSPEC_IDX_ARTICUL_DATE ON PARTSPEC (ARTICUL, DOC_DATE); CREATE INDEX PARTSPEC_IDX_DATE ON PARTSPEC (DOC_DATE, NUMBER); ALTER INDEX PARTSPEC_IDX_DATE INACTIVE; CREATE INDEX PARTSPEC_IDX_DOCHEAD ON PARTSPEC (DOCHEAD, ARTICUL, ASRT, INDOCHEAD, MOVEDOCHEAD); CREATE INDEX PARTSPEC_IDX_DOCKIND ON PARTSPEC (DOCKIND, DOCHEAD, INDOCHEAD, MOVEDOCHEAD, ARTICUL, ASRT); CREATE INDEX PARTSPEC_IDX_INDOCHEAD ON PARTSPEC (INDOCHEAD, ARTICUL, ASRT, MOVEDOCHEAD, DOCHEAD); CREATE INDEX PARTSPEC_IDX_MOVEDOCHEAD ON PARTSPEC (MOVEDOCHEAD, ARTICUL, ASRT, INDOCHEAD, DOCHEAD); ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2015, 10:17 |
|
Размер сегмента BLOB
|
|||
---|---|---|---|
#18+
Gallemar, ну так не удивительно что у них такая глубина. Они же все многосегментные ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2015, 10:45 |
|
|
start [/forum/topic.php?fid=40&fpage=76&tid=1562814]: |
0ms |
get settings: |
9ms |
get forum list: |
17ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
33ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
83ms |
get tp. blocked users: |
2ms |
others: | 277ms |
total: | 443ms |
0 / 0 |