powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Sybase ASE 15 varchar VS numeric
5 сообщений из 5, страница 1 из 1
Sybase ASE 15 varchar VS numeric
    #36650450
Mikle83
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день!

Есть таблица, в которой порядка 3,5 млн. записей.
Таблица хранит кучу информации, но среди прочего некий номер, который представлен 19-ти символьным числом. В наследие досталось, что этот номер хранился в поле типа varchar(19).
Появилось желание несколько оптимизировать работу этой БД. Добавил поле типа Numeric(19). Поля без индексов.

Стал делать стандартные запросы с данными полями - агрегирование по полю, выборка в диапазоне и т.д. и вопреки своим ожиданиям столкнулся с тем, что быстродействие практически не различается...
запросы по типу
Код: plaintext
1.
2.
3.
Select 
  Nomer, count(*) 
from Table 
  group by Nomer
и
Код: plaintext
1.
2.
3.
Select 
  Nomer_Numeric, count(*) 
from Table 
  group by Nomer_Numeric

или, например, надо выделить префикс у номера 7917331
Код: plaintext
1.
2.
3.
4.
Select 
  Nomer, count(*) 
from Table 
  where Nomer like '7917331%' 
group by Nomer
и соответственно
Код: plaintext
1.
2.
3.
4.
Select 
  Nomer_Numeric, count(*) 
from Table 
  where Nomer_Numeric between  7917331000 .. 0000  and  7917332000 ... 000  
group by Nomer_Numeric

Мои ожидания на то, что работать с типом Numeric нежели c Varchar сервер должен быстрее напрасны? Может они (ожидания) вообще идут в разрез с философией работы СУБД?
...
Рейтинг: 0 / 0
Sybase ASE 15 varchar VS numeric
    #36650760
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mikle83 пишет:

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

А с чего оно вдруг будет отличаться ?

> Мои ожидания на то, что работать с типом Numeric нежели c Varchar сервер
> должен быстрее напрасны?

Да, были напрасны.

Может они (ожидания) вообще идут в разрез с
> философией работы СУБД?

Идут.


Типы полей надо выбирать в зависимости от того, какие данные хранятся
в поле и какие операции с ними ты будешь делать. Быстродействие тут ни при чём.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Sybase ASE 15 varchar VS numeric
    #36650836
Mikle83
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как минимум мои ожидания были основаны на том, что серверу "легче" будет оперировать с типом данных Numeric, так как вместо 19 байт (если пользовать varchar) тут для хранения инфы пользуется 8 байт.

Подразумевается также джойн по данному полю с другой таблицей - есть смысл пробовать - джойн-то по numeric должен поидее сработать быстрее нежели по varchar? Или опять напрасные ожидания?
...
Рейтинг: 0 / 0
Sybase ASE 15 varchar VS numeric
    #36651063
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mikle83 пишет:

> Подразумевается также джойн по данному полю с другой таблицей - есть
> смысл пробовать - джойн-то по numeric должен поидее сработать быстрее
> нежели по varchar?

С чего ?

Или опять напрасные ожидания?

Напрасные.


Я только тебя успокоить хочу. С логикой у тебя в порядке
всё. Да только строки и числа в памяти обрабатываются, а
записи читаются с диска. А время чтения с диска в 10000-1000000
раз больше любой машинной операции в памяти.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Sybase ASE 15 varchar VS numeric
    #36651379
cherrex_Den
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mikle83,

C логикой действительно все в порядке!!
Если построить по этим полям индекс, то по numeric индекс будет меньше. Больше значений поместиться на страницу, следовательно, меньше страниц индекса читать серверу(IO меньше). А так, без индекса будет TableScan.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Sybase ASE 15 varchar VS numeric
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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