|
|
|
Вопросы от нубов, или список для коллекции "Советы бывалых"
|
|||
|---|---|---|---|
|
#18+
Предлагаю собирать здесь типичные вопросы от неофитов, относящиеся к: 1) написанию SQL-запросов 2) написанию PSQL-кода (как ХП, так и триггеров) 3) DDL (создание констрейнтов, индексов и проч.) 4) началам DBAйства Когда коллекция будет достаточно полной, можно будет составить по ней сборник рецептов. Сборник буду ваять сам, по мере сил. Если кто хочет подключиться - велкам, разумеется. Главными научными консультантами, ИМХО, должны быть WildSery, DS и ГР - люди, которые с ФБ знакомы гораздо больше мну. Поэтому "сверку часов" буду проводить именно с этими монстрами рока (если никто из них не против :)). (Источников Света дёргать лишний раз не хочется, у них и так полно забот). Цель простая: сделать некий контент, достойный попадания в вечно-прилепленный топик FB-раздела. И отправлять уже всех неофитов именно ТУДА, дабы не тратить на них время. Далее приведу в unsorted-виде типичные вопли нубов, про которые помню в данный момент. Дополняйте, плз. Желательно для всех вопросов, НЕ связанных с sql-выборками, давать префикс: psql = процедурный код ddl = как объявить констрейнт, следует ли добавить индекс етц. dba = DBAйство ... * таблицы "А" и "Б" соотносятся друг с другом как родительская и дочерняя. Но FK - нету. В итоге, в "Б" появились строки без родителей. Как их найти ? (т.е. запрос на left join / not exists); * как сгруппировать значения по столбцу "Х", но вытащить в итоге поле, не участвовавшее в группировке, и соответствующее какому-то max()-значению (пример: получить значение курса на самую позднюю дату из какого-то диапазона); * как преобразовать N строк столбца в кортеж из 1 строки и N полей (pivot); и обратно тоже (unpivot); * как пронумеровать строки выборки (в версиях до 2.5 включительно) * как выдернуть случайную запись * как собрать ("сцепить") значения в строку (list()); особенность отсутствия порядка слов в итоговом списке (в общем случае) * как разобрать строку на слова по заданному набору разделителей и вывести их в столбец (т.е. операция, обратная к list()) * как соединить N независимых выборок по номерам строк, причём для отсутствующих строк какой-либо выборки выводить NULL (использование курсоров; в версиях до 2.5 включительно) * засада с выборкой where x NOT in(select ... from t), когда подзапрос содержит NULL'ы * как обойти траблы,связанные с нестабильностью курсора при DML (в версиях до 2.5 включительно) * изыски на тему вывода записей в хитром порядке (сортировка вида order by iif(..., expr1, expr2) etc) * изыски на тему count( [ distnct ] ... ) + having * рекурсивные запросы (найти всех предков / потомков et al) * запросы к системным таблицам: "кто ссылается по FK на мою бедную таблицу ?!" и проч. (или просто продублировать - с разрешения kdv, ес-сно, - раздел с ibase.ru ?) * case-insensitive кириллица * max( id ) ищется медленно, хотя по ID создан ПК (ФБ не делает обратный скан по индексу, так что придется создавать descending) * строки с завершающими пробелами: как они сравниваются и как поменять правило сравнения * строки: удаление лишних ("задвоенных") пробелов * "malformed string" при выборке НЕ-латинских строк из базы (aka "нарушение мантры DS'a: чарсет коннекта должен быть равен чарсету консоли") * даты и время: особенность диалектов, как указывать при вводе (формат), арифметика, пересечение интервалов и т.п. * double precision: особенности сравнения и округления (примеры выражений со "странными результатами";вот один такой) * blob'ы, в т.ч. временные (или "от чего растёт моя бедная база ?!") * как вытащить данные из другой ФБ-базы (execute statement on EXTERNAL datasource) * (psql) в процедуре есть входной параметр a_some_id числового типа, для отбора записей по полю some_field. Он может быть передан как NULL и тогда надо отбирать записи с любыми значениями some_field. Как заставить ФБ использовать индекс еще и в этом случае ? (т.е. как обойтись без 'OR') * (psql) when-обработка исключений в begin-end блоках * (psql) почему foo не поменялась в итоге выполнения вот этого кода: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. * (psql) текст ошибки вместо кода - как получить его на сервере ? (и можно ли вообще ?) * (ddl) особенности при FK on delete cascade ( проскакивало недавно, кстати) * (ddl) особенности устанавливаемого check'a (ФБ *не* проверяет старые записи на соответствие новому правилу) * (ddl) особенности UNIQUE в сравнении с PK (допускаются NULL'ы). В составных unique-констрейнтах две записи вида {100, null} и {100, null} считаются одинаковыми, хотя в них присутствует null: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. * (dba) "Object in use и как мне с этим дальше жить..." * (dba) как найти тормозящий запрос (до 2.5 и начиная с 2.5) * (dba) как найти и отрубить того, кто ОАТ ? * (dba) как отрубить все транзакции, за исключением RO RC, длящиеся свыше NNN минут, но ничего не менявшие в базе ? * (dba) backup / restore: как быстро понять, база вообще живая или нет ? (изучаем ключик -m) * (dba) backup / restore: как ускорить выполнение ? (сказание про сервисы) * (dba) "кто сидит в моей бедной базе ? и что он сейчас делает ?" (запросы к mon$'ам) * (dba) "в течение рабочего дня внезапно наступают тормоза! Что делать ?" (для тех, кто не читает ibase.ru) ... to be continued ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2014, 02:06:40 |
|
||
|
Вопросы от нубов, или список для коллекции "Советы бывалых"
|
|||
|---|---|---|---|
|
#18+
Научными консультантами по чему - по вопросам нубов? :) Кстати, на некоторые вопросы я ответа не знаю, например. Если понадобятся - найду ответ, конечно, но не сталкивался. P.S. Распространенные вопросы от новичков - это FAQ, в любом его виде и оформлении. Любые сложные вопросы и различные best practice - совсем другое дело, это уже некий более фундаментальный сборник и труд (безусловно, тоже очень нужный, в т.ч. лично мне). Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2014, 04:45:19 |
|
||
|
Вопросы от нубов, или список для коллекции "Советы бывалых"
|
|||
|---|---|---|---|
|
#18+
Паша,тебе готовые ответы на почту слать? Сразу кстати уточнение есть - Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2014, 05:45:13 |
|
||
|
Вопросы от нубов, или список для коллекции "Советы бывалых"
|
|||
|---|---|---|---|
|
#18+
GallemarПаша,тебе готовые ответы на почту слать? Давай :-) GallemarСразу кстати уточнение есть - Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2014, 08:55:55 |
|
||
|
Вопросы от нубов, или список для коллекции "Советы бывалых"
|
|||
|---|---|---|---|
|
#18+
CyberMaxВозможно, имеет смысл сделать сборник Hint'n'Tricks. Что туда например может войти: FIELD + 0, FIELD1 IS DISTINCT FROM FIELD2, . Да, описание DISTINCT есть, но, мне кажется, стоит на нем заострить внимание.а ведь верно :-) Он до сих пор натуралом прёт, даже когда индексы есть. И пока не забыл: (ddl) что лучше, составные индексы или отдельно по каждому полю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2014, 08:57:09 |
|
||
|
Вопросы от нубов, или список для коллекции "Советы бывалых"
|
|||
|---|---|---|---|
|
#18+
Еще один вопрос попался: * этюды на тему similar to (например, проверка строки на то, что там записаны только цифры; проверка на то, что это адрес e-mail etc). * предостережения по произв-сти similar to (это я уже по своим печалькам буду говорить :)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2014, 09:10:12 |
|
||
|
Вопросы от нубов, или список для коллекции "Советы бывалых"
|
|||
|---|---|---|---|
|
#18+
Может я излишне скептик, но многие вопросы звучат так: * (dba) "У меня ничего не работает! Что делать ?" (для тех, кто не читатель) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2014, 09:55:44 |
|
||
|
Вопросы от нубов, или список для коллекции "Советы бывалых"
|
|||
|---|---|---|---|
|
#18+
Давайте так: топик открыт для всех, в нем можно обсудить некую проблему, потом она оформляется в виде "вопрос+ответ под спойлером", когда общественность решила, что вопрос интересный и ответ правильный, я загоняю этот вопрос-ответ в стартовый пост и обсуждение этого вопроса в данном топике отправляется в утиль. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2014, 13:29:57 |
|
||
|
Вопросы от нубов, или список для коллекции "Советы бывалых"
|
|||
|---|---|---|---|
|
#18+
Ivan_Pisarevsky, Идея хорошая. Я - за. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2014, 13:32:20 |
|
||
|
Вопросы от нубов, или список для коллекции "Советы бывалых"
|
|||
|---|---|---|---|
|
#18+
Ivan_PisarevskyДавайте так: топик открыт для всех, в нем можно обсудить некую проблему, потом она оформляется в виде "вопрос+ответ под спойлером", когда общественность решила, что вопрос интересный и ответ правильный, я загоняю этот вопрос-ответ в стартовый пост и обсуждение этого вопроса в данном топике отправляется в утиль.Хорошо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2014, 13:40:59 |
|
||
|
Вопросы от нубов, или список для коллекции "Советы бывалых"
|
|||
|---|---|---|---|
|
#18+
... "продолжаем разговор" (С). * (ddl) "как мне обеспечить уникальность в столбце Х" (для тех, кто думает, что это делается триггерами :)) * (ddl) как обеспечить соблюдение правила, выходящего за пределы одного кортежа таблицы (например, чтобы общее число строк с some_field = :some_value было или ноль, или пять - и только эти два значения) * как наращивать счетчик без дырок (или с минимальным их кол-вом) - счета-фактуры и прочая пурга от бух-ов * как найти дырки в нумерации (прислал в мыло miwaonline, дублирую сюда на всякий) * как в(ы)ключить сразу все триггера (кроме системных, ес-сно) * как пересчитать статистику по всем индексам * чем плохо отсутствие свежесобранной статистики по индексам (примеры) * (dba) чем плохо невнимание к параметрам DefaultDBCachePages и TempCacheLimit (примеры) * "разве может выборка из таблицы вернуть строки не так, как показываает ИБЭ ?" (а он по дефолту показывает упорядоченными по PK) . . . to be continued . . . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2014, 16:53:50 |
|
||
|
Вопросы от нубов, или список для коллекции "Советы бывалых"
|
|||
|---|---|---|---|
|
#18+
> * (ddl) "как мне обеспечить уникальность в столбце Х" > (для тех, кто думает, что это делается триггерами :)) Это о чём речь? О том, что надо создавать индексы, потому что триггеры транзакционны? Ну так уникальность на триггерах итак мало кто рожает, тем более из новичков. > * (ddl) как обеспечить соблюдение правила, выходящего > за пределы одного кортежа таблицы (например, чтобы > общее число строк с some_field = :some_value было или > ноль, или пять - и только эти два значения) Не будучи редактором, настаивать не буду, но я против таких вопросов а FAQe - и этого конкретно и ему подобных. > * как наращивать счетчик без дырок > * как найти дырки в нумерации (прислал в мыло miwaonline, дублирую сюда на всякий) + > * как в(ы)ключить сразу все триггера (кроме системных, ес-сно) > * как пересчитать статистику по всем индексам По идее это в раздел ddl/запросы к систаблицам/дба. Это в тему того, что нужно сначала структуру продумать. > * чем плохо отсутствие свежесобранной статистики по индексам (примеры) Тоже против. Это статья, а не FAQ и она есть у Димы, насколько я помню. Впрочем, если не писать много текста, а просто в двух словах и дать ссылку - можно. > * "разве может выборка из таблицы вернуть строки не так, как > показываает ИБЭ ?" (а он по дефолту показывает упорядоченными по PK) Во-первых, против. Во-вторых, это чепуха, потому что это не так. Хвастунов в курсе, что у него ИБЕ якобы по PK без просьбы сортит? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2014, 17:01:46 |
|
||
|
Вопросы от нубов, или список для коллекции "Советы бывалых"
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов РустамХвастунов в курсе, что у него ИБЕ якобы по PK без просьбы сортит? В курсе. С самого начала по дефолту по ПК сортирует. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2014, 17:06:37 |
|
||
|
Вопросы от нубов, или список для коллекции "Советы бывалых"
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов РустамО том, что надо создавать индексы, потому что триггеры транзакционны?Да.Гаджимурадов Рустамуникальность на триггерах итак мало кто рожает, тем более из новичков. Хе-хе-хе... не поверишь, но речь НЕ о новичках. В одной ERP-системе, которую мы шесть лет взад приобрели и начали переделывать, уникальность обеспечивалась... триггерами. Потому что там изначально была заложена EAV, и как обеспечить уникальность одной группы записей, но не трогать ("уникальностью") другую - разрабы этой системы, видимо, не допёрли :-) Гаджимурадов Рустам> * (ddl) как обеспечить соблюдение правила, выходящего > за пределы одного кортежа таблицы (например, чтобы > общее число строк с some_field = :some_value было или > ноль, или пять - и только эти два значения) Не будучи редактором, настаивать не буду, но я против таких вопросов а FAQe - и этого конкретно и ему подобных.Why ? слишком сложно будет осилить нубам ? Гаджимурадов Рустам> * как наращивать счетчик без дырок > * как найти дырки в нумерации (прислал в мыло miwaonline, дублирую сюда на всякий) + > * как в(ы)ключить сразу все триггера (кроме системных, ес-сно) > * как пересчитать статистику по всем индексам По идее это в раздел ddl/запросы к систаблицам/дба. Это в тему того, что нужно сначала структуру продумать.Вопросы про дырки возникают регулярно. Как систему не продумывай, всё равно что-то останется невыясненным вплоть до ввода в эксплуатацию. А там уже придется с этими дырками жить. Вопросы про систаблицы - они и на самой продуманной структуре будут возникать, это не связано, КМК. Гаджимурадов Рустам> * чем плохо отсутствие свежесобранной статистики по индексам (примеры) Тоже против. Это статья, а не FAQ и она есть у Димы, насколько я помню. Впрочем, если не писать много текста, а просто в двух словах и дать ссылку - можно.Согласен, ссылку только нужно. Гаджимурадов Рустам> * "разве может выборка из таблицы вернуть строки не так, как > показываает ИБЭ ?" (а он по дефолту показывает упорядоченными по PK) Во-первых, против. Во-вторых, это чепуха, потому что это не так. Хвастунов в курсе, что у него ИБЕ якобы по PK без просьбы сортит?Пардон, я наврал тут. ИБЭ выводит именно так, как записи в базе лежат (проверил только что). Так что отбой по этому вопросу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2014, 17:22:30 |
|
||
|
Вопросы от нубов, или список для коллекции "Советы бывалых"
|
|||
|---|---|---|---|
|
#18+
IBExpertГаджимурадов РустамХвастунов в курсе, что у него ИБЕ якобы по PK без просьбы сортит?В курсе. С самого начала по дефолту по ПК сортирует.А тогда я теперь "НЕ в курсе"! В где сейчас эта настройка сидит ? Глаза устал пялить, найти не смог. А по тексту найти в этизх окнах опций ничего нельзя - ты бы сделал, как в TOAD'e, там можно текст вводить и она сама на нужную настройку показывает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2014, 17:23:56 |
|
||
|
Вопросы от нубов, или список для коллекции "Советы бывалых"
|
|||
|---|---|---|---|
|
#18+
IBExpert> В курсе. С самого начала по дефолту по ПК сортирует. Ты про "Данные" таблицы или про что? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2014, 17:29:38 |
|
||
|
Вопросы от нубов, или список для коллекции "Советы бывалых"
|
|||
|---|---|---|---|
|
#18+
Таблоид> Хе-хе-хе... не поверишь, но речь НЕ о новичках. Стало быть, в FAQ этому не место, наверное? > Why ? слишком сложно будет осилить нубам ? Да, в т.ч. Сложно и редко нужно. > Вопросы про дырки возникают регулярно. Про дырки я плюсанулся, т.е. поддерживаю. А про структуру - имелось в виду структуру FAQ, а не БД - разделы, подразделы и т.д. Как минимум, ddl, запросы к систаблицам и dba - сильно пересекающиеся разделы. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2014, 17:34:41 |
|
||
|
Вопросы от нубов, или список для коллекции "Советы бывалых"
|
|||
|---|---|---|---|
|
#18+
IBExpertВ курсе. С самого начала по дефолту по ПК сортирует.нарыл я, в где это сидит. Возможно, у мну дефолт этот сбит дано, ХЗ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2014, 17:36:23 |
|
||
|
Вопросы от нубов, или список для коллекции "Советы бывалых"
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов РустамТаблоид> Хе-хе-хе... не поверишь, но речь НЕ о новичках. Стало быть, в FAQ этому не место, наверное?ладно, отложу на десерт :-) подожду, пока очередной неофит(?) выпрыгнет сюда с этим. Гаджимурадов Рустам> Why ? слишком сложно будет осилить нубам ? Да, в т.ч. Сложно и редко нужно.ОК. Вычеркиваем. Гаджимурадов РустамА про структуру - имелось в виду структуру FAQ, а не БД - разделы, подразделы и т.д. Как минимум, ddl, запросы к систаблицам и dba - сильно пересекающиеся разделы.Укрупнять разделы не хочется. Винегрет ведь будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2014, 17:38:56 |
|
||
|
Вопросы от нубов, или список для коллекции "Советы бывалых"
|
|||
|---|---|---|---|
|
#18+
Таблоиднарыл я, в где это сидит.Гм... Конкретизировать надо про "показываает ИБЭ". Кто ж данные так смотрит-то? Я в SQL-эдиторе всегда нужные данные вытаскиваю и смотрю, а когда нужно чего найти/подправить - так всё равно сортируешь и фильтруешь данные так, как тебе надо, а не по PK. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2014, 17:44:24 |
|
||
|
Вопросы от нубов, или список для коллекции "Советы бывалых"
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов РустамТаблоиднарыл я, в где это сидит.Гм... Конкретизировать надо про "показываает ИБЭ". Кто ж данные так смотрит-то? Я в SQL-эдиторе всегда нужные данные вытаскиваю и смотрюну так у тебя ВКЛючена эта галка или нет ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2014, 17:47:19 |
|
||
|
Вопросы от нубов, или список для коллекции "Советы бывалых"
|
|||
|---|---|---|---|
|
#18+
ТаблоидГаджимурадов РустамТаблоид> Хе-хе-хе... не поверишь, но речь НЕ о новичках. Стало быть, в FAQ этому не место, наверное?ладно, отложу на десерт :-) подожду, пока очередной неофит(?) выпрыгнет сюда с этим.Скорее, надо бы что-то про EAV-схему наваять. О тех бесчисленных муках и страданиях, которые она вызывает в реальной эксплуатации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2014, 17:52:21 |
|
||
|
Вопросы от нубов, или список для коллекции "Советы бывалых"
|
|||
|---|---|---|---|
|
#18+
Таблоид> ну так у тебя ВКЛючена эта галка или нет ? Понятия не имею, до сегодняшнего дня я не знал о её существовании (не замечал или не помнил), ибо не пользуюсь это вкладкой для "чтения". Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2014, 17:56:02 |
|
||
|
Вопросы от нубов, или список для коллекции "Советы бывалых"
|
|||
|---|---|---|---|
|
#18+
Таблоид> Скорее, надо бы что-то про EAV-схему наваять. Про это статьи не хватит, не то что FAQ. Так что даже пытаться не стоит, ИМХО. > О тех бесчисленных муках и страданиях, которые > она вызывает в реальной эксплуатации. Зависит от... Есть и те, кто успешно пользуются и не жалуются, в т.ч. отечественный её "автор". Лично меня больше напрягают не семиэтажные запросы, а то, чтобы написать их с ходу нельзя - нужно подсматривать соотв. значения кодов. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2014, 17:58:34 |
|
||
|
Вопросы от нубов, или список для коллекции "Советы бывалых"
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов РустамЛично меня больше напрягают не семиэтажные запросы, а то, чтобы написать их с ходу нельзя - нужно подсматривать соотв. значения кодов.Во-во! Нас это в усмерть задолбало, практически на старте. (думаешь, я просто так несколько раз вопил о мнемонических константах приложения ?.. :-)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2014, 18:06:20 |
|
||
|
Вопросы от нубов, или список для коллекции "Советы бывалых"
|
|||
|---|---|---|---|
|
#18+
Обсуждение оргвопросов я зачистил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2014, 18:23:49 |
|
||
|
Вопросы от нубов, или список для коллекции "Советы бывалых"
|
|||
|---|---|---|---|
|
#18+
Таблоид> (думаешь, я просто так несколько раз вопил Таблоид> о мнемонических константах приложения ?.. :-)) Что-то смутно припоминаю, но мненоники тут никак не помогут, по сути, как и контекстные переменные и пр. Помогут пакеты и константы/переменные, когда появятся. Мне в своё время значительно помогло сохранение запросов в IBE - накидаешь десяток-другой наиболее часто встречающихся запросов и дальше как-то проще. Щас вообще древовидные группы запросов появились, но у меня никак руки не дойдут полностью на них перейти... Впрочем, это несколько оффтоп, так что закругляемся. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2014, 18:46:20 |
|
||
|
Вопросы от нубов, или список для коллекции "Советы бывалых"
|
|||
|---|---|---|---|
|
#18+
Ivan_Pisarevsky> Обсуждение оргвопросов я зачистил. Ну и абсолютно зря. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2014, 18:46:36 |
|
||
|
Вопросы от нубов, или список для коллекции "Советы бывалых"
|
|||
|---|---|---|---|
|
#18+
Продолжаем разговор... :-) * неявное приведение типов и связанные с этим неприятности (например, не использование индекса при поиске с условием where some_varchar_field = :some_numeric_literal) - по мотивам одной из многочисленных бесед ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2014, 14:47:26 |
|
||
|
Вопросы от нубов, или список для коллекции "Советы бывалых"
|
|||
|---|---|---|---|
|
#18+
Воооот!... Я нашёл, кто будет эту самую таблицу лабать. :) У тебя свободного времени много, так что не поленись, составь по исходникам таблицу приведения типов, с приоритетами. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2014, 14:55:43 |
|
||
|
Вопросы от нубов, или список для коллекции "Советы бывалых"
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов РустамУ тебя свободного времени много, так что не поленись, составь по исходникам таблицу приведения типов, с приоритетами.Гм... Найти бы еще это место в исходниках... зы. а своб. времени у меня - как у всех, кстати :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2014, 14:59:52 |
|
||
|
Вопросы от нубов, или список для коллекции "Советы бывалых"
|
|||
|---|---|---|---|
|
#18+
Таблоид> Гм... Найти бы еще это место в исходниках... Я функцию не помню, но по названию можно будет догадаться, наверное. Файл - или opt.cpp или btr.cpp вроде бы, если шо ДЕ поправит. > зы. а своб. времени у меня - как у всех, кстати :) Ага, ага, заметно. :) Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2014, 15:02:16 |
|
||
|
Вопросы от нубов, или список для коллекции "Советы бывалых"
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов РустамАга, ага, заметно. :)Тсс!.. я выполняю важное партийное задание, делаю OLTP-тест! а ты тут палишь на весь свет! :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2014, 15:05:47 |
|
||
|
Вопросы от нубов, или список для коллекции "Советы бывалых"
|
|||
|---|---|---|---|
|
#18+
Так. Пока не забыл то, на что сам лбом недавно налетел. * предостережение по использованию rand() /отсутствие материализации её результата и перевычисление на каждой обрабатываемой записи/ А именно - выбор случайной записи (в предположении, что есть и возрастающий, и убывающий индексы по ID). var-1. Код: sql 1. 2. 3. - выдаст перекос (максимальные ID'шники будут выбираться крайне редко) var-2. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. - выдаст равномерное распределение. PS. Способ на чистом SQL, с материализацией rand'a, - вроде бы есть: Код: sql 1. 2. 3. 4. 5. - но почему-то выдаёт самый первый ID'шник гораздо реже, чем все остальные. Вот результат для таблицы с 10 строками (id=2...11), цикл 10 тыс итераций: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. IDCNTCNT_AVGDEVIATION_PERCENT2518950-45,47310429509,68410179507,0559839503,47610089506,179609501,0589659501,5799979504,941010179507,05119939504,52 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2014, 16:07:45 |
|
||
|
Вопросы от нубов, или список для коллекции "Советы бывалых"
|
|||
|---|---|---|---|
|
#18+
PS. нарыл в итоге, что надо подправить, дабы на pure-sql было равномерное распределение: к лимитным значениям надо единицу добавлять/отнимать, а не 0.5 ХЗ почему так, но - работает. Но грузит бедную rdb$database по самое не балуй :-) Код: 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. 31. 32. 33. 34. 35. 36. 37. 38. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2014, 16:28:25 |
|
||
|
Вопросы от нубов, или список для коллекции "Советы бывалых"
|
|||
|---|---|---|---|
|
#18+
ТаблоидПродолжаем разговор... :-) * неявное приведение типов и связанные с этим неприятности (например, не использование индекса при поиске с условием where some_varchar_field = :some_numeric_literal) - по мотивам одной из многочисленных бесед тут есть еще один "образчик" получения разных результатов при неявном приведении типов. )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2014, 18:19:55 |
|
||
|
Вопросы от нубов, или список для коллекции "Советы бывалых"
|
|||
|---|---|---|---|
|
#18+
mvbеще один "образчик" получения разных результатов при неявном приведении типов. ))а, так ты рецидивист со стажем, оказывается ? :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2014, 18:30:08 |
|
||
|
Вопросы от нубов, или список для коллекции "Советы бывалых"
|
|||
|---|---|---|---|
|
#18+
Таблоидmvbеще один "образчик" получения разных результатов при неявном приведении типов. ))а, так ты рецидивист со стажем, оказывается ? :-) Да, жизнь ничему не учит, оказывается )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2014, 18:55:43 |
|
||
|
Вопросы от нубов, или список для коллекции "Советы бывалых"
|
|||
|---|---|---|---|
|
#18+
Святое забыл: этюды на тему user-трейса. * запускаю согласно доке , а ничего нет кроме стартового сообщения "Trace session ID 1 started" (на самом деле или не указан порт <> 3050; или неправильно указан шаблон в конфиге трейса для базы/алиаса); * как видеть вывод трейса и на экране, и при этом чтобы он в лог шёл (т.е. просто сказать про mtee / supertee) * как мне найти самые-пресамые тормозные запросы, а среди них - "наиболее пресамый" (grep + сортировка по убыванию значения времени; это вообще-то не к ФБ, но всё равно "рядом сидит") * трейс внезапно остановился с сообщением "Session NN is suspended as its log is full" (по мотивам своих же шишек) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2014, 19:15:48 |
|
||
|
|

start [/forum/topic.php?all=1&fid=40&tid=1563729]: |
0ms |
get settings: |
9ms |
get forum list: |
10ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
196ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 230ms |
| total: | 503ms |

| 0 / 0 |
