![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Самый шустрый сервер [D7, IB6.x]
REA © (2004-11-16 12:32:00)Есть необходимость работать с данными большого объема. Таблица (допустим) одна, 100 полей FLOAT, первичного ключа (допустим) нет.
Требуется запись в таблицу со скоростью 1 запись/сек. и как можно более быстрое чтение. Объем может достигать 2Гб, но проверить не могу т.к. вставка медленная - придется долго генерировать.
Какой сервер из семейства IB (Firebird, Yaffi...) можете посоветовать для такой задачи?
Соловьев (2004-11-16 16:47:00) [21]
> create table user_rights(
> user_id ...,
> privilege_id ...
> );
Эта таблица? ПК Вы сами привели в запросе
> delete from user_rights wherer user_id = :uid and privilege_id
> = :pid
Reindeer Moss Eater (2004-11-16 16:42:00) [22]В моей таблице нет физического PK.
И логического PK то же нет.
Потому что мне не надо уникально идентифицировать запись.
Тем не менее в таблице смысла - хоть отбавляй.
Соловьев (2004-11-16 16:40:00) [23]
> Не надо путать логические сущности
Логически ПК должен быть. Потому как смысла в данных не будет
Физически да, может и не быть.
Reindeer Moss Eater (2004-11-16 16:34:00) [24]Не надо путать логические сущности и физические объекты.
PK есть не всегда.
Соловьев (2004-11-16 16:31:00) [25]
> А PK это "волшебство", работающее без индекса, и вставку
> не замедляет.
> Так что ли?
Замедляет конечно. Просто я так понял спор разгорелся из-за того, что ПК может и не существовать(я так понимал, что имелось ввиду - не существовать вообще). Как оказалось такого быть не могет. ПК всегда есть :)
Reindeer Moss Eater (2004-11-16 16:27:00) [26]А PK это "волшебство", работающее без индекса, и вставку не замедляет.
Так что ли?
Соловьев (2004-11-16 16:26:00) [27]
> 2. Скорость обеспечивается и обычным индексом.
Что влечет за собой замедление при вставке...
Reindeer Moss Eater (2004-11-16 16:25:00) [28]1. Уникальность не нужна (будет сто одинаковых записей, но стократного увеличения привилегий не будет )
2. Скорость обеспечивается и обычным индексом.
PK здесь нафик не нужен.
Danilka (2004-11-16 16:16:00) [29][24] Reindeer Moss Eater © (16.11.04 16:13)
решает. во-первых скорость доступа в запросе: wherer user_id = :uid and privilege_id = :pid
во-вторых, обеспечивает уникальность. :))
Johnmen (2004-11-16 16:16:00) [30]А что дает/решает ПК, напр., в таблице-справочнике ?
Reindeer Moss Eater (2004-11-16 16:13:00) [31]По смыслу может быть это и PK.
Но объект БД "primary key" в этом случае не нужен.
Он ничего нам не дает и ничего не решает.
Johnmen (2004-11-16 16:12:00) [32]>Reindeer Moss Eater © (16.11.04 15:59) [17]
Здесь нет одинаковых записей (по смыслу).
И ПК есть (опять же по смыслу).
Соловьев (2004-11-16 16:09:00) [33]
> wherer user_id = :uid and privilege_id = :pid
Ну так вот и есть ПК - виртуальный правда :)
Danilka (2004-11-16 16:08:00) [34]брр, не две записи, а составной ПК по двум полям
Danilka (2004-11-16 16:08:00) [35][17] Reindeer Moss Eater © (16.11.04 15:59)
Дык, здесь в качестве ПК будет две записи: "юзер" и "привелегия", кроме всего прочего, на уровне сервера будет обеспечен контроль - не будет записей с одинаковым набором юзер и привелегия
Reindeer Moss Eater (2004-11-16 16:07:00) [36]Что бы забрать привилегию, админ напишет запрос
delete from user_rights wherer user_id = :uid and privilege_id = :pid
Соловьев (2004-11-16 16:04:00) [37]
> Системе не надо знать в какой конкретной записи содержится
> привилегия.
Но админу то надо! Чтобы забрать привелегию.
Reindeer Moss Eater (2004-11-16 15:59:00) [38]Конечно есть.
Например простейшая таблица привилегий, которыми наделены пользователи:
create table user_rights(
user_id ...,
privilege_id ...
);
Систему интересует набор привилегий, которыми обладает юзер.
Системе не надо знать в какой конкретной записи содержится привилегия.
Danilka (2004-11-16 15:54:00) [39]Или просто пример случая, когда бывает необходима таблица, содержащая полностью одинаковые записи. И как в таком случае обратиться к какой-нибудь конкретной из них?
Danilka (2004-11-16 15:52:00) [40][14] Sergey13 © (16.11.04 15:38)
А нафига в БД неуникальные записи? :))
Есть какой-нибудь пример, когда ПК ненужен или (о-боже) вредит? Что-то я не могу предстравить..