Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Подскажите с индексами / 13 сообщений из 13, страница 1 из 1
31.01.2007, 13:04
    #34295857
novik_one
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите с индексами
есть таблица
Код: plaintext
1.
2.
3.
4.
5.
CREATE TABLE "DBA"."foo" (
	"fee1" integer NOT NULL,
	"fee2" integer NOT NULL
--- еще поля
);
Данные будут примерно такие
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
insert into dba.foo (fee1,fee2) values ( 1 , 1 );
insert into dba.foo (fee1,fee2) values ( 1 , 2 );
insert into dba.foo (fee1,fee2) values ( 1 , 3 );
insert into dba.foo (fee1,fee2) values ( 2 , 1 );
insert into dba.foo (fee1,fee2) values ( 2 , 2 );
insert into dba.foo (fee1,fee2) values ( 2 , 3 );
insert into dba.foo (fee1,fee2) values ( 3 , 1 );
insert into dba.foo (fee1,fee2) values ( 3 , 2 );
insert into dba.foo (fee1,fee2) values ( 3 , 3 );

Какой лучше PK такой
Код: plaintext
1.
ALTER TABLE "DBA"."foo" ADD PRIMARY KEY ( "fee1" ASC, "fee2" ASC );

или такой
Код: plaintext
1.
ALTER TABLE "DBA"."foo" ADD PRIMARY KEY ( "fee2" ASC, "fee1" ASC );
...
Рейтинг: 0 / 0
31.01.2007, 13:51
    #34296085
kolchanov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите с индексами
IMHO с формальной точки зрения никакой разницы нет.

С точки зрения производительности, нужно помнить о том, что при наличии инедкса (fee1,fee2)
индекс (fee1) не нужен, так как могут использоваться лидирующе колонки существующего индекса.

Все зависит от того, какие потом будут запросы к этой таблице.
...
Рейтинг: 0 / 0
31.01.2007, 14:11
    #34296174
лень
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите с индексами
Как правило лучше делать первой (ведущей) колонкой индекса ту, по которой селективность будет больше. Соответственно от этого и плясать.
...
Рейтинг: 0 / 0
31.01.2007, 15:30
    #34296568
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите с индексами
лень пишет:

> Как правило лучше делать первой (ведущей) колонкой индекса ту, по
> которой селективность будет больше. Соответственно от этого и плясать.

В том-то и дело, что в данном случае она похоже одинаковая.
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
31.01.2007, 16:29
    #34296848
novik_one
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите с индексами
стоп в fee1 10 уникальных значений а в fee2 - 1000 какое поле в начало?
...
Рейтинг: 0 / 0
31.01.2007, 16:35
    #34296879
novik_one
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите с индексами
извиняюсь за неточную постановку инсерты надо читать
Код: 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.
insert into dba.foo (fee1,fee2) values ( 1 , 1 );
insert into dba.foo (fee1,fee2) values ( 1 , 2 );
insert into dba.foo (fee1,fee2) values ( 1 , 3 );
.
.
.
.
.
.
insert into dba.foo (fee1,fee2) values ( 1 , 10 );

insert into dba.foo (fee1,fee2) values ( 2 , 1 );
insert into dba.foo (fee1,fee2) values ( 2 , 2 );
insert into dba.foo (fee1,fee2) values ( 2 , 3 );
.
.
.
.
.
.
insert into dba.foo (fee1,fee2) values ( 2 , 10 );

insert into dba.foo (fee1,fee2) values ( 3 , 1 );
insert into dba.foo (fee1,fee2) values ( 3 , 2 );
insert into dba.foo (fee1,fee2) values ( 3 , 3 );
.
.
.
.
.
.
.
.
.
.
insert into dba.foo (fee1,fee2) values ( 3 , 10 );
...
Рейтинг: 0 / 0
31.01.2007, 16:37
    #34296887
novik_one
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите с индексами
простите темного селективность = всего/выбрано?
...
Рейтинг: 0 / 0
31.01.2007, 16:52
    #34296957
kolchanov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите с индексами
Все таки, какое количество уникальных значений в каждой колонке?
...
Рейтинг: 0 / 0
31.01.2007, 17:23
    #34297114
лень
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите с индексами
novik_oneпростите темного селективность = всего/выбрано?
количество уникальных значений/количество записей в таблице
...
Рейтинг: 0 / 0
31.01.2007, 17:32
    #34297142
novik_one
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите с индексами
kolchanovВсе таки, какое количество уникальных значений в каждой колонке?
ну реально предполагается в fee1 до 100, в fee2 больше 5000
в примере 3 и 10
...
Рейтинг: 0 / 0
31.01.2007, 17:33
    #34297150
kolchanov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите с индексами
fee2, fee1
...
Рейтинг: 0 / 0
31.01.2007, 18:37
    #34297364
novik_one
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите с индексами
Спасибо откликнувшимся
...
Рейтинг: 0 / 0
31.01.2007, 18:51
    #34297401
jsut me
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите с индексами
kolchanovfee2, fee1

Привет Андрей.

Не знал что ты теперь и в ASA разбираться стал :))

Юра.
...
Рейтинг: 0 / 0
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Подскажите с индексами / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]