Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » InterBase и FireBird: вопросы по работе и их решение

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104

Открыть новую тему     Написать ответ в эту тему

miwa

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
OXDBA

Цитата:
И к чему тогда GUID? Составной PK по двум полям и вперед.


Цитата:
А вот при разработке структуры новой БД возможны варианты, в том числе и GUID.  

 
Ну об чем и речь. Куда составной ПК, а куда и GUID - от задачи зависит, от предпочтений разработчика. Лично я, кстати, GUID не стал бы использовать при наличии альтернатив - (big)int привычней
 
YuriyRR
Да вроде человек о встроенных средствах спрашивал. Кроме того, не знаю как там у вас в Москве на Linux, но вот у нас в Росии в Debian в репозиториях его нет.

Всего записей: 455 | Зарегистр. 10-10-2004 | Отправлено: 22:22 13-03-2013
delover

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
YuriyRR
Я за гуиды кого нибудь побью точно...
 
Про этот форуи уже жалуюсь
http://www.sql.ru/forum/actualpost.aspx
 
Меня бордажнули - пароль 4321qwer посмотрите на клаве. За русиш слежу. Ник уже на двух сайтах - не пускают. Я как появился - так камень в горле. Для меня уже чмошный сайт - ник попытаюсь удалить чтоб не спамили.
 
Добавлено:
DВобщем форум подставный, но не постоянно. Извините я лох - туда не сунусь - Тем мужики в почёте, а я извините мужчина.

Всего записей: 1395 | Зарегистр. 25-06-2007 | Отправлено: 00:03 14-03-2013
miwa

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
delover
А что в GUID-ах плохого-то?

Всего записей: 455 | Зарегистр. 10-10-2004 | Отправлено: 06:05 14-03-2013
delover

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
miwa
Ничего
>Если уж так серьезно думать об репликации, тогда лучше GUID вместо генератора.
Просто показалось что с издёвкой сказано, далее по теме понял что не так. Мы недавно разговаривали про GUID и про то что GUID это 8 байт а не строка!!!!!!! Это очень важно 8 байт идеал для 64 бит. Жаль пока в FB этого не вижу.
 
Про SQL.RU. Я сейчас нахожусь на работе выспавшийся и точно не пьяный. Набирал вчера пароль4321qwer 5 раз без набора цифр и ещё 5 с набором. Либо это тот же способ выяснить другие мои пароли либо я чем то насолил. Сегодня думаю что это первое - получение доступа к моим личным данным. Так что плевать мне на их лицензию.

Всего записей: 1395 | Зарегистр. 25-06-2007 | Отправлено: 07:54 14-03-2013
exteris

Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Цитата:
Это очень важно 8 байт идеал для 64 бит.

GUID это всё таки 16 байт.
 

Цитата:
Жаль пока в FB этого не вижу.


Код:
CREATE OR ALTER TRIGGER GEN_GUID FOR T
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
  new.guid=gen_uuid();
END
 


Всего записей: 382 | Зарегистр. 14-04-2003 | Отправлено: 09:20 14-03-2013
delover

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Сейчас пытаюсь понять что значит
value exceeds the range for valid timestamps
 
У меня сохранёнка на их же базе выполняется 4 секунды. У них на всех компах 2 минуты 40 секунд. И один раз вывалилась
value exceeds the range for valid timestamps
 
Стоит доктор веб, но вроде он безобидный.
 
Добавлено:
exteris
Сори давно уже смотрел дамп, да действительно 16, сори за косяк, но 16 тоже удобно.
 
 
Добавлено:
Сори нашол
CHAR(16) CHARACTER SET OCTETS
 
Добавлено:
exteris
Я хотел бы узнать на сервере -

Код:
 
function IndexForGuidDataSortCompare(Item1, Item2: Integer): Integer;
...
    Result := CompareStr[0](   <<<<<<-----------????
      vArray.DataByCell[N, Item1],
      vArray.DataByCell[N, Item2]);
...
    if Item1 > Item2 then
      Result := 1 else
    if Item1 < Item2 then
      Result := -1 else
      Result := 0;
  end;
end;
 

Как строки гуид CompareStr или как Int128?

Всего записей: 1395 | Зарегистр. 25-06-2007 | Отправлено: 09:20 14-03-2013 | Исправлено: delover, 13:08 14-03-2013
delover

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
У меня сохранёнка на их же базе выполняется 4 секунды.

Выяснили причину - я такое впервые вижу. Был индекс на Name его переделали в Upper(name). Так вот - выборка с сортировкой по имени делается 3 минуты, а индекс создавался 3 секунды, то есть сортировка проходит махом, а перемещение записей в памяти этого сервака работает жутко медленно. После создания индекса запрос работает 11 секунд. да и могу быть не прав, если данные берутся прямо с диска.
 
Добавлено:
Надо программу тестилку написать которая делает select безиндексно с сортировкой и засеч время. А вторая кнопка создаёт индекс делает тот же селект и дробает индекс и засечь время.

Всего записей: 1395 | Зарегистр. 25-06-2007 | Отправлено: 12:41 14-03-2013 | Исправлено: delover, 12:58 14-03-2013
miwa

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
delover

Цитата:
Про SQL.RU. Я сейчас нахожусь на работе выспавшийся и точно не пьяный. Набирал вчера пароль4321qwer 5 раз без набора цифр и ещё 5 с набором.

У них вчера сервак дико лагал. Я вообще зайти не мог. Думаю, проблема в этом.
 

Цитата:
Как строки гуид CompareStr или как Int128?

Как число. Если нужна строка - есть функция uuid_to_char.

Всего записей: 455 | Зарегистр. 10-10-2004 | Отправлено: 14:51 14-03-2013
delover

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
miwa

Цитата:
У них вчера сервак дико лагал.  

О как, тогда придётся мне извиниться и взять свои слова обратно.
 

Цитата:
Как число.

Очень рад. Есть в жизни приятная инфа.

Всего записей: 1395 | Зарегистр. 25-06-2007 | Отправлено: 15:54 14-03-2013
miwa

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
delover

Цитата:
Надо программу тестилку написать которая делает select безиндексно с сортировкой и засеч время. А вторая кнопка создаёт индекс делает тот же селект и дробает индекс и засечь время.

Не заметил сперва это предложение.
 
А зачем индексы дропать, жалко же
 
Вот так индекс задействуется

Код:
 
SELECT * FROM YOURTABLE where YOURFIELD = 'somevalue';
 

А в этих случаях - нет

Код:
 
SELECT * FROM YOURTABLE where YOURFIELD || '' = 'somevalue';
 
SELECT * FROM YOURTABLE where YOURFIELD = 'somevalue' or 1 = 2;
 

Всего записей: 455 | Зарегистр. 10-10-2004 | Отправлено: 16:15 14-03-2013
delover

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
miwa

Цитата:
А зачем индексы дропать, жалко же  

Ну можно деактивировать и всегда создавать новый, не суть
 

Цитата:
А в этих случаях - нет  

Ну хотя для or индекс не нужен, для orderby пригодился бы, но както туманно как это выяснить.
 
Кстати помоему так тоже не используется

Код:
 
SELECT * FROM YOURTABLE  
where YOURFIELD = 'somevalue' or YOURFIELD = 'somevalue'

 
Добавлено:

Цитата:
Ну хотя для or индекс не нужен

Я общался с тем кто утверждал что если бы индекс использовался то на области первого условия всё бы вычислилось сразу, а на втором условии было бы сравнение.
 
Так веть и при безиндексном чтении если первое верно второе не вычисляем....

Всего записей: 1395 | Зарегистр. 25-06-2007 | Отправлено: 18:58 14-03-2013
miwa

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
delover

Цитата:
Я общался с тем кто утверждал что если бы индекс использовался то на области первого условия всё бы вычислилось сразу, а на втором условии было бы сравнение

Ваш собеседник, возможно, хороший спец в своей области, но официальному ФАКу я склонен доверять больше.

Всего записей: 455 | Зарегистр. 10-10-2004 | Отправлено: 20:58 14-03-2013
YuriyRR



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Админы заблокируйте уже этих флудерастов.

Всего записей: 516 | Зарегистр. 07-06-2007 | Отправлено: 02:48 15-03-2013
miwa

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
YuriyRR
Какие из моих постов являются флудом?

Всего записей: 455 | Зарегистр. 10-10-2004 | Отправлено: 02:57 15-03-2013
delover

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
YuriyRR
Вместо понтов иногда неплохо включить мозг, помогает.
 
miwa
Спасибо за ссылку, изучаю.
 
Добавлено:
YuriyRR
Если человек может создать временный индекс и сделать сортированную выборку за 11 секунд, то и сервер может это. Вместо этого сервер сортирует 3 минуты потом отдаёт. Вам не кажется что так ведёт себя сервер из вредности? Цыфры не придуманные, а фактические, видел собственными глазами вместе с тестировщицей которая работает с клиентами и у неё программка с часиками и миллисекундами. Соотношение скорости 16.363636363636363636363636363636, количество записей в таблице чуть больше 50 тысячь, выборка из одной таблицы.  
 
Добавлено:
Пришла тестировщица. Теперь точные цыфры - время до создания индекса 2 минуты 46 секунд, после 11 секунд, время на создание индекса примерно 3 секунды - я досчитал до трёх. 2*60+46/(11+3)=11.857. Можно ускорить в 12 раз.

Всего записей: 1395 | Зарегистр. 25-06-2007 | Отправлено: 08:34 15-03-2013 | Исправлено: delover, 12:24 15-03-2013
delover

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А что флудерастим? 2 поста за то чтоб не дробать индекс. Фи

Всего записей: 1395 | Зарегистр. 25-06-2007 | Отправлено: 23:29 15-03-2013
ZIPKs



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Доброго времени суток! Пожалуйста проконсультируйте в следующем: была создана база под IB на win32bit, потом использовали базу с FB 2.0 на win32bit. Сейчас установлена на win64bit, сообветственно FB для 64bit. НЕ получается В связи с тем, что изначально база была создана IB,  имеет расширение *.gdb. сейчас ругается при попытке поключения на использование библиотек. Не совсем пойму в чем дело, "ткните пальцем".  
 
Текст ошибки: Обратите внимание, что вы должны использовать 32-разрядные клиентские библиотеки, даже если вы подключаетесь к 64-разрядной версии Firebird/InterBase потому что IBExpert-это 32-разрядное приложение. В случае, если вы укажите 64-битную версию клиентской библиотеки dll, вместо 32-битной вы можете получить эту ошибку.
 
ОРигинал:Notice, that you have to use 32-bit client library even if you connect to 64-bit version of Firebird/InterBase because IBExpert is a 32-bit application. In case you specify a 64-bit version of client library dll instead of 32-bit one you can get this error.
Заранее спасибо.

Всего записей: 3 | Зарегистр. 10-03-2009 | Отправлено: 09:32 18-03-2013
noisy

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ZIPKs
Для начала нужно перевести формат базу с версии Interbase на Firebird.
Помжет бэкап/рестор или выгрузка данных в скрипт и создание из скрипта базы под Firebird
 
К 64-х разрядному  серверу подключается 32-х разрядный клиент без проблем,
думаю проблема в том что на машине 64х сервера вы пытаетесь подключится 32х разрядным приложением,
а оно ессно берет библиотеку 64х разрядную.
положите рядом с EXE приложения библиотеку gds32.dll или fbclient.dll от 32х разрядного сервера

Всего записей: 986 | Зарегистр. 30-05-2002 | Отправлено: 10:39 18-03-2013
ZIPKs



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вся проблема в том, что не могу настроить доступ к базе вообще никак... На предыдущем системном блоке устанавливала Firebird-2.1.3.18185_0_Win32 и без проблем работало все, а сейчас вообще никак, правда тогда была  Win 7 32bit, а сейчас  Win 7 64bit.

Всего записей: 3 | Зарегистр. 10-03-2009 | Отправлено: 10:44 18-03-2013
exteris

Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
ZIPKs
Что непонятно Вам в тексте ошибки? IBExpert просит 32-разрядную библиотеку для работы с БД.

Всего записей: 382 | Зарегистр. 14-04-2003 | Отправлено: 11:24 18-03-2013
Открыть новую тему     Написать ответ в эту тему

Страницы: 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 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » InterBase и FireBird: вопросы по работе и их решение


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru