Модераторы: Akella

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Стартую в Firebird, знаю delphi. Запутался. 
:(
    Опции темы
Frees
Дата 16.8.2010, 21:39 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2233
Регистрация: 2.12.2005
Где: Екатеринбург

Репутация: 1
Всего: 54



сделай уникальный индекс по 2 полям


--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
olek68
Дата 16.8.2010, 22:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 16.8.2010

Репутация: нет
Всего: нет



А  разве  функция  индекса  не  ускорять сортировку поля. Однако  не  вижу  связи  с  уникальностью  полей.…  Объясните   подробнее…
PM MAIL   Вверх
Frees
Дата 16.8.2010, 22:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2233
Регистрация: 2.12.2005
Где: Екатеринбург

Репутация: 1
Всего: 54



Цитата(olek68 @  17.8.2010,  01:00 Найти цитируемый пост)
А  разве  функция  индекса  не  ускорять сортировку поля

не только...еще как минимум ускорение поиска... и обеспечение уникальности - это уже скорее побочный эффект индекса


--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
olek68
Дата 16.8.2010, 23:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 16.8.2010

Репутация: нет
Всего: нет



В  книге  Фаронова  «Delphi-7 Программирование баз данных” прочёл интересную фразу:
«В  реальной  работе  иногда  возникает  необходимость  вставить в  ту  или  иную  таблицу  БД  сразу  множества  записей.  В этом  случае  можно  временно  отключить  индекс…».   Не  представляю  как  одним  «INSERT INTO…»  можно  вставить несколько  записей!  О  чём  говорил  автор?

Добавлено через 5 минут и 11 секунд
Может он  говорит  о  одной   транзакции? В  которой  целая  туча INSERT?
PM MAIL   Вверх
Deniz
Дата 17.8.2010, 06:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1251
Регистрация: 16.10.2004
Где: Новый Уренгой

Репутация: 22
Всего: 44



Цитата(olek68 @  17.8.2010,  01:01 Найти цитируемый пост)
Может он  говорит  о  одной   транзакции? В  которой  целая  туча INSERT? 
Именно так.


--------------------
"Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с)
PM ICQ   Вверх
Frees
Дата 17.8.2010, 17:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2233
Регистрация: 2.12.2005
Где: Екатеринбург

Репутация: 1
Всего: 54



Цитата(olek68 @  17.8.2010,  02:01 Найти цитируемый пост)
 случае  можно  временно  отключить  индекс…

спорный момент, включив индекс обратно будет выполнятся переиндексация таблицы - это может занять больше времени чем было сэкономлено отключение индекса.

Это сообщение отредактировал(а) Frees - 17.8.2010, 17:11


--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
Deniz
Дата 18.8.2010, 06:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1251
Регистрация: 16.10.2004
Где: Новый Уренгой

Репутация: 22
Всего: 44



Цитата(Frees @  17.8.2010,  19:11 Найти цитируемый пост)
спорный момент
отнюдь, отключение индекса действительно дает выигрыш по времени, но только при больших объемах (10К не в счет).

olek68, есть подводные камни при временном отключении индекса, если индекс уникален или это внешний ключ.
В целом не рекомендую пользоваться данной возможностью.
Если в приложении нужно вставить/удалить большой объем данных за короткое время, нужно пересмотреть логику приложения, возможно что-то не так.


--------------------
"Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с)
PM ICQ   Вверх
Frees
Дата 18.8.2010, 21:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2233
Регистрация: 2.12.2005
Где: Екатеринбург

Репутация: 1
Всего: 54



Цитата(Deniz @  18.8.2010,  09:42 Найти цитируемый пост)
отнюдь,

суммарное время , включая переиндексацию после включения индекса может быть больше!!
или я ошибаюсь? например ситуация когда в таблицу с 10 млн записей добавляем 10 тыс записей?


--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
Deniz
Дата 19.8.2010, 07:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1251
Регистрация: 16.10.2004
Где: Новый Уренгой

Репутация: 22
Всего: 44



Frees, обо всем по порядку:
1. Про удаление большого кол-ва записей из большой таблицы вот статья
2. Про добавление, правда статья сильно старая и немного о другом, но в конце есть вывод:
"Наличие индексов замедляет скорость вставки данных. Более оптимальным по времени может оказаться деактивация индексов, вставка данных, и активация индексов - в сумме эти операции могут занять меньшее время, чем вставка данных с активными индексами."
Оригинал
Если есть другие мнения и источники, прошу предоставить "тынц"


--------------------
"Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с)
PM ICQ   Вверх
Frees
Дата 19.8.2010, 14:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2233
Регистрация: 2.12.2005
Где: Екатеринбург

Репутация: 1
Всего: 54



Цитата(Deniz @  19.8.2010,  10:22 Найти цитируемый пост)
Если есть другие мнения и источники, прошу предоставить "тынц"

тынц нету, то что я писал выше это всеголишь ИМХО





--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
Deniz
Дата 20.8.2010, 06:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1251
Регистрация: 16.10.2004
Где: Новый Уренгой

Репутация: 22
Всего: 44



Frees, да я без наездов  smile 


--------------------
"Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с)
PM ICQ   Вверх
olek68
Дата 22.8.2010, 15:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 16.8.2010

Репутация: нет
Всего: нет



Привет знатокам.
Подскажите, пожалуйста, что входит в комплект «минимальной   клиентской  установки» firebird?  
И  возможно ли  обойтись  без  установки  клиентской  firebird?  Достаточно  ли   подбросить  в 
 каталог  с  клиентской  программой  библиотеки  fbclient.dll  и  gds32.dll .  
Если  нет,  то,  что  еще  нужно  для  нормальной  работы  клиента? 
(В  своей  программе  я  использую  стандартные  компоненты  вкладки  «InterBase» Delphi.)

Это сообщение отредактировал(а) olek68 - 22.8.2010, 16:42
PM MAIL   Вверх
Akella
Дата 22.8.2010, 17:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 20
Всего: 329



Цитата(olek68 @  22.8.2010,  15:19 Найти цитируемый пост)
Подскажите, пожалуйста, что входит в комплект «минимальной   клиентской  установки» firebird?  

fbclient.dll + msvcp71.dll (или msvcr71.dll, точно не помню)

Добавлено через 1 минуту и 29 секунд
Цитата(olek68 @  22.8.2010,  15:19 Найти цитируемый пост)
Достаточно  ли   подбросить  в 
 каталог  с  клиентской  программой  библиотеки  fbclient.dll  и  gds32.dll . 

По идее да, достаточно. fbclient.dll можно переименовать в gds32.dll, т.к. в твоём случае нет возможности указать путь и имя библиотеки доступа.
PM MAIL   Вверх
Deniz
Дата 23.8.2010, 06:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1251
Регистрация: 16.10.2004
Где: Новый Уренгой

Репутация: 22
Всего: 44



olek68, не совсем понятно, что имеется ввиду под 
Цитата(olek68 @  22.8.2010,  17:19 Найти цитируемый пост)
И  возможно ли  обойтись  без  установки  клиентской  firebird?

Далее по правилам форума:
во-первых, новая тема = новый топик
Во-вторых, учимся пользоваться поиском
Вот достаточно полный ответ и след за ним


--------------------
"Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с)
PM ICQ   Вверх
olek68
Дата 26.8.2010, 19:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 16.8.2010

Репутация: нет
Всего: нет



Большое спасибо, за помощь!  Каждый  рас,  когда  обращаюсь  на  сайт  за  подсказкой  к  
специалистам  всегда   получаю   нужную  информацию.
С firebird  работаю  недавно  и  по  привычке  все  запросы  к базе  формирую  с  клиентского 
приложения.  Но  думаю,  может  часть  объемных  запросов  выложить   в  базе   в  «селективных
 процедурах»,  ну  чтобы   снизить  нагрузку  на  сеть.  Может,  подскажете  насколько  необходимо 
 перевести   все  обращения  к  базе  во  внутренние  процедуры?   Или  в  этом  нет  
необходимости.  Может  кто-то   даст  возможность  взглянуть  на  правильно  организованную
  базу.  Не  знаю  насколько  Employee.fdb   можно  брать  за  образец.


Это сообщение отредактировал(а) olek68 - 26.8.2010, 19:57
PM MAIL   Вверх
Страницы: (4) Все 1 2 [3] 4 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Interbase"
Alex

Обязательно указание:

1. Версию InterBase (Firebird, Yaffil)

2. Способа доступа (ADO, BDE, IBX и т.д.)

  • КАК ПРАВИЛЬНО ОФОРМИТЬ КОД - ЗДЕСЬ
  • КАК ПРАВИЛЬНО УКАЗАТЬ ТЕКСТ ОШИБКИ - ЗДЕСЬ
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • FAQ раздела лежит здесь!

Если Вам понравилась атмосфера форума, заходите к нам чаще! С Уважением, Akella.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Firebird, Interbase | Следующая тема »


 




[ Время генерации скрипта: 0.0897 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.