Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
17.11.2004, 13:29
|
|||
|---|---|---|---|
|
|||
запись с минимальным значением не уникального столбца |
|||
|
#18+
есть таблицы CREATE TABLE bgps( bgpid SERIAL, name VARCHAR(32) NOT NULL, rate INTEGER DEFAULT 100, CONSTRAINT PK_bgps_bgpid PRIMARY KEY (bgpid), CONSTRAINT TC_bgps_name UNIQUE (name) ); CREATE TABLE bgp_nets( bgpnid SERIAL, bgpid INTEGER, net INET NOT NULL, active BOOLEAN, CONSTRAINT PK_bgp_nets_bgpnid PRIMARY KEY (bgpnid), CONSTRAINT FK_bgp_net_bgpid FOREIGN KEY (bgpid) REFERENCES bgps(bgpid) ON DELETE CASCADE ON UPDATE CASCADE ); и отображение CREATE VIEW bgp_nets_rate (bgpnid,bgpid,net,active,rate) AS SELECT bgp_nets.bgpnid, bgp_nets.bgpid, bgp_nets.net, bgp_nets.active, bgps.rate FROM (bgp_nets JOIN bgps ON ((bgps.bgpid = bgp_nets.bgpid))); В таблице bgp_nets хранятся записи вида Код: plaintext 1. 2. 3. 4. Код: plaintext 1. 2. 3. 4. возвращает 2 строки. (т.к. 195.68.222.22 входит в обе сети) В задаче необходимо получить идентификаторы сети (bgpid) отправителя и получателя т.е. если пакет прошел с 195.68.222.22 на 195.68.222.28 это должеы быть соответственно 1 и 1. Запрос вида SELECT srct.bgpid AS src, dstt.bgpid AS dst FROM ( SELECT bgpid FROM bgp_nets_rate WHERE '195.68.222.22'::inet<<net AND active=TRUE ORDER BY rate LIMIT 1 ) as srct CROSS JOIN( SELECT bgpid FROM bgp_nets_rate WHERE '195.68.222.28'::inet<<net AND active=TRUE ORDER BY rate LIMIT 1 ) as dstt решает проблему, однако по причине того, что этот код критичен к производительности хотелось бы получить мнения относительно возможности усовершенствования данного запроса... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=53&tablet=1&tid=2007574]: |
0ms |
get settings: |
5ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
37ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
2ms |
| others: | 233ms |
| total: | 360ms |

| 0 / 0 |
