powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / parallel в index-е селекта (ASE 12.5)
18 сообщений из 18, страница 1 из 1
parallel в index-е селекта (ASE 12.5)
    #36129624
Фотография DimaU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть тормозное место ASE 12.5: Select по таблице свыше 5 млн записей и отбор 50 тыс из них (по дате и др полям - c distinct-ом). Индекс есть и запрос попадает в него, но все равно крутится долго... (
Вопрос:
Ускорит ли процесс конструкция parallel в index? Надо что-то выставлять админу БД?

Пример:
select distinct
DT.DealID
from
tDealTransact DT (INDEX XIE12tDealTransact parallel 4 )
where
DT.FixDate between '20090601' and '20090630'
and DT.TransactType between 4 and 5
and DT.SecurityID >= 0
and DT.DealID > 0

---
Всего всего! topa .
...
Рейтинг: 0 / 0
parallel в index-е селекта (ASE 12.5)
    #36129943
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DimaUЕсть тормозное место ASE 12.5: Select по таблице свыше 5 млн записей и отбор 50 тыс из них (по дате и др полям - c distinct-ом). Индекс есть и запрос попадает в него, но все равно крутится долго... (
Вопрос:
Ускорит ли процесс конструкция parallel в index? Надо что-то выставлять админу БД?



это зависит от настроек сервера

и потом, может у вас памяти мало серверу выделено и запрос попадает в очередь из-за дисковых операций?

так что нужно сначала понять, в каком состоянии находится сервер, его настройку, актуальность индексов и т.д.

для начала :

Код: plaintext
1.
2.
exec sp_configure
exec sp_monitorconfig 'all'
exec sp_cacheconfig 
...
Рейтинг: 0 / 0
parallel в index-е селекта (ASE 12.5)
    #36129996
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вполне вероятно, что параллелизм не поддерживается при текущих настройках сервера

тынц
...
Рейтинг: 0 / 0
parallel в index-е селекта (ASE 12.5)
    #36130082
Фотография DimaU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторexec sp_configure
exec sp_monitorconfig 'all'
exec sp_cacheconfig

соответственно

Parameter Name Default Memory Used Config Value Run Value Unit Type
abstract plan cache 0 0 0 0 switch dynamic
abstract plan dump 0 0 0 0 switch dynamic
abstract plan load 0 0 0 0 switch dynamic
abstract plan replace 0 0 0 0 switch dynamic
additional network memory 0 0 0 0 bytes dynamic
allocate max shared memory 0 0 1 1 switch dynamic
allow backward scans 1 0 1 1 switch dynamic
allow nested triggers 1 0 1 1 switch static
allow procedure grouping 1 0 1 1 switch dynamic
allow remote access 1 0 1 1 switch dynamic
allow resource limits 0 #4 0 0 switch static
allow sendmsg 0 0 0 0 switch dynamic
allow sql server async i/o 1 0 1 1 switch static
allow updates to system tables 0 0 1 1 switch dynamic
audit queue size 100 2 100 100 number dynamic
auditing 0 0 0 0 switch dynamic
average cap size 200 0 200 200 bytes static
Backup/Recovery 0 0 0 0 not applicable [NULL]
Cache Manager 0 0 0 0 not applicable [NULL]
caps per ccb 50 0 50 50 number static
check password for digit 0 0 0 0 switch dynamic
cis bulk insert array size 50 0 50 50 rows dynamic
cis bulk insert batch size 0 0 0 0 rows dynamic
cis connect timeout 0 0 0 0 seconds dynamic
cis cursor rows 50 0 50 50 number dynamic
cis packet size 512 0 512 512 bytes dynamic
cis rpc handling 0 0 0 0 switch dynamic
Component Integration Services 0 0 0 0 not applicable [NULL]
compression memory size 0 76 0 0 memory pages(2k) dynamic
configuration file 0 0 0 x:\sybase12 name dynamic
Configuration Options 0 0 0 0 not applicable [NULL]
cpu accounting flush interval 200 0 200 200 clock ticks dynamic
cpu grace time 500 0 500 500 clock ticks dynamic
curread change w/ open cursors 1 0 1 1 switch dynamic
current audit table 1 0 1 1 id dynamic
deadlock checking period 500 0 5000 5000 milliseconds dynamic
deadlock pipe active 0 0 0 0 switch dynamic
deadlock pipe max messages 0 0 0 0 number dynamic
deadlock retries 5 0 5 5 number dynamic
default character set id 2 0 53 53 id static
default database size 2 0 2 2 megabytes dynamic
default exp_row_size percent 5 0 5 5 percent dynamic
default fill factor percent 0 0 0 0 percent dynamic
default language id 0 0 0 0 id dynamic
default network packet size 512 #328 512 512 bytes static
default sortorder id 50 0 59 59 id static
default unicode sortorder binary 0 binary binary name static
Diagnostics 0 0 0 0 not applicable [NULL]
disable character set conversi 0 0 0 0 switch static
disable disk mirroring 1 0 0 1 switch static
Disk I/O 0 0 0 0 not applicable [NULL]
disk i/o structures 256 38 256 256 number dynamic
DTM Administration 0 0 0 0 not applicable [NULL]
dtm detach timeout period 0 0 0 0 minutes dynamic
dtm lock timeout period 300 0 300 300 seconds dynamic
dump on conditions 0 0 0 0 switch dynamic
dynamic allocation on demand 1 0 1 1 switch dynamic
enable cis 1 0 1 1 switch static
enable DTM 0 0 0 0 switch static
enable encrypted columns 0 2 0 0 switch static
enable enterprise java beans 0 0 0 0 switch dynamic
enable file access 0 0 0 0 switch dynamic
enable full-text search 0 0 0 0 switch dynamic
enable HA 0 0 0 0 switch static
enable housekeeper GC 1 0 1 1 switch dynamic
enable java 0 0 0 0 switch static
enable job scheduler 0 0 0 0 switch dynamic
enable ldap user auth 0 0 0 0 not applicable dynamic
enable monitoring 0 0 0 0 switch dynamic
enable pam user auth 0 0 0 0 number dynamic
enable real time messaging 0 0 0 0 switch dynamic
enable rep agent threads 0 0 0 0 switch dynamic
enable row level access 0 0 0 0 switch dynamic
enable snmp 0 0 0 0 switch dynamic
enable sort-merge join and JTC 0 0 0 0 switch dynamic
enable ssl 0 0 0 0 switch static
enable surrogate processing 1 0 1 1 switch dynamic
enable unicode conversions 0 0 0 0 switch dynamic
enable unicode normalization 1 0 1 1 switch dynamic
enable webservices 0 0 0 0 switch dynamic
enable xact coordination 1 0 1 1 switch static
enable xml 0 0 0 0 switch dynamic
engine memory log size 0 2 0 0 memory pages(2k) dynamic
Error Log 0 0 0 0 not applicable [NULL]
errorlog pipe active 0 0 0 0 switch dynamic
errorlog pipe max messages 0 0 0 0 number dynamic
esp execution priority 8 0 8 8 id dynamic
esp execution stacksize 65536 0 65536 65536 bytes static
esp unload dll 0 0 0 0 switch dynamic
event buffers per engine 100 #40 100 100 number static
event log computer name LocalSystem 0 LocalSystem LocalSystem name dynamic
event logging 1 0 1 1 switch dynamic
executable codesize + overhead 0 11624 0 11624 kilobytes read-only
extended cache size 0 0 0 0 memory pages(2k) dynamic
Extended Stored Procedure 0 0 0 0 not applicable [NULL]
General Information 0 0 0 0 not applicable [NULL]
global async prefetch limit 10 0 10 10 percent dynamic
global cache partition number 1 0 1 1 number static
heap memory per user 4096 0 4096 4096 bytes dynamic
histogram tuning factor 1 0 1 1 number dynamic
housekeeper free write percent 1 0 1 1 percent dynamic
i/o accounting flush interval 1000 0 1000 1000 clock ticks dynamic
i/o batch size 100 0 100 100 number dynamic
i/o polling process count 10 0 10 10 number dynamic
identity burning set factor 5000 0 5000 5000 number static
identity grab size 1 0 1 1 number dynamic
Java Services 0 0 0 0 not applicable [NULL]
job scheduler interval 1 0 1 1 seconds dynamic
job scheduler tasks 32 0 32 32 number dynamic
Languages 0 0 0 0 not applicable [NULL]
license information 25 0 25 25 number dynamic
lock address spinlock ratio 100 0 100 100 ratio static
lock hashtable size 2048 51 2048 2048 bytes static
Lock Manager 0 0 0 0 not applicable [NULL]
lock scheme allpages 0 datapages datapages name dynamic
lock shared memory 0 0 0 0 switch static
lock spinlock ratio 85 0 85 85 ratio static
lock table spinlock ratio 20 0 20 20 ratio static
lock wait period 2147483647 0 2147483647 2147483647 seconds dynamic
log audit logon failure 0 0 0 0 switch dynamic
log audit logon success 0 0 0 0 switch dynamic
max async i/os per engine 2147483647 0 2147483647 2147483647 number static
max async i/os per server 2147483647 0 2147483647 2147483647 number static
max cis remote connections 0 482 0 0 number dynamic
max concurrently recovered db 0 0 0 0 number dynamic
max memory 33792 2560000 1280000 1280000 memory pages(2k) dynamic
max native threads per engine 50 0 50 50 number dynamic
max network packet size 512 0 512 512 bytes static
max number network listeners 5 456 5 5 number dynamic
max online engines 1 117 4 4 number static
max online Q engines 0 0 0 0 number static
max parallel degree 1 0 1 1 number dynamic
max scan parallel degree 1 0 1 1 number dynamic
max SQL text monitored 0 10 0 0 bytes static
maximum dump conditions 10 0 10 10 number static
maximum failed logins 0 0 0 0 number dynamic
maximum job output 32768 0 32768 32768 bytes dynamic
memory alignment boundary 2048 0 2048 2048 bytes static
memory per worker process 1024 4 1024 1024 bytes dynamic
Memory Use 0 0 0 0 not applicable [NULL]
messaging memory 400 0 400 400 memory pages(2k) dynamic
Meta-Data Caches 0 0 0 0 not applicable [NULL]
minimum password length 6 0 6 6 bytes dynamic
Monitoring 0 0 0 0 not applicable [NULL]
msg confidentiality reqd 0 0 0 0 switch dynamic
msg integrity reqd 0 0 0 0 switch dynamic
Network Communication 0 0 0 0 not applicable [NULL]
number of alarms 40 4 40 40 number dynamic
number of aux scan descriptors 200 #232 200 200 number dynamic
number of ccbs 0 0 0 0 number static
number of checkpoint tasks 1 0 1 1 number dynamic
number of devices 10 #132 256 256 number dynamic
number of dtx participants 500 146 500 500 number dynamic
number of dump threads 1 0 1 1 number dynamic
number of engines at startup 1 0 4 4 number static
number of histogram steps 20 0 20 20 number dynamic
number of index trips 0 0 0 0 number dynamic
number of java sockets 0 0 0 0 number dynamic
number of large i/o buffers 6 3114 6 6 number dynamic
number of locks 5000 42510 300000 300000 number dynamic
number of mailboxes 30 6 30 30 number dynamic
number of messages 64 6 64 64 number dynamic
number of oam trips 0 0 0 0 number dynamic
number of open databases 12 1432 12 12 number dynamic
number of open indexes 500 11800 10000 10000 number dynamic
number of open objects 500 68686 50000 50000 number dynamic
number of pre-allocated extent 2 0 2 2 number dynamic
number of Q engines at startup 0 0 0 0 number static
number of remote connections 20 33 20 20 number static
number of remote logins 20 22 20 20 number static
number of remote sites 10 914 10 10 number static
number of sort buffers 500 0 500 500 number dynamic
number of user connections 25 13682 150 150 number dynamic
number of worker processes 0 0 0 0 number dynamic
o/s file descriptors 0 0 0 100000 number read-only
O/S Resources 0 0 0 0 not applicable [NULL]
object lockwait timing 0 0 0 0 switch dynamic
open index hash spinlock ratio 100 0 100 100 ratio dynamic
open index spinlock ratio 100 0 100 100 ratio dynamic
open object spinlock ratio 100 0 100 100 ratio dynamic
page lock promotion HWM 200 0 20000 20000 number dynamic
page lock promotion LWM 200 0 200 200 number dynamic
page lock promotion PCT 100 0 100 100 percent dynamic
page utilization percent 95 0 95 95 percent dynamic
Parallel Query 0 0 0 0 not applicable [NULL]
partition groups 1024 860 1024 1024 number dynamic
partition spinlock ratio 10 0 10 10 ratio dynamic
per object statistics active 0 0 0 0 switch dynamic
percent database for history 20 0 20 20 percent dynamic
percent database for output 30 0 30 30 percent dynamic
percent history free 30 0 30 30 percent dynamic
percent output free 50 0 50 50 percent dynamic
performance monitoring option 0 0 0 0 switch dynamic
permission cache entries 15 #520 15 15 number dynamic
Physical Memory 0 0 0 0 not applicable [NULL]
Physical Resources 0 0 0 0 not applicable [NULL]
plan text pipe active 0 0 0 0 switch dynamic
plan text pipe max messages 0 0 0 0 number dynamic
print deadlock information 0 0 1 1 switch dynamic
print recovery information 0 0 0 0 switch dynamic
procedure cache size 3271 108390 51200 51200 memory pages(2k) dynamic
process wait events 0 0 0 0 switch dynamic
Processors 0 0 0 0 not applicable [NULL]
read committed with lock 0 0 0 0 switch dynamic
recovery interval in minutes 5 0 5 5 minutes dynamic
remote server pre-read packets 3 #32 3 3 number static
Rep Agent Thread Administratio 0 0 0 0 not applicable [NULL]
row lock promotion HWM 200 0 20000 20000 number dynamic
row lock promotion LWM 200 0 200 200 number dynamic
row lock promotion PCT 100 0 100 100 percent dynamic
rtm thread idle wait period 600 0 600 600 seconds dynamic
runnable process search count 2000 0 2000 2000 number dynamic
sampling percent 0 0 0 0 percent dynamic
secure default login guest 0 guest guest not applicable dynamic
Security Related 0 0 0 0 not applicable [NULL]
select on syscomments.text 1 0 1 1 switch dynamic
send doneinproc tokens 1 0 1 1 switch dynamic
shared memory starting address 0 0 0 0 not applicable static
size of auto identity column 10 0 10 10 bytes dynamic
size of global fixed heap 150 0 150 150 memory pages(2k) dynamic
size of process object heap 1500 0 1500 1500 memory pages(2k) dynamic
size of shared class heap 1536 0 1536 1536 memory pages(2k) dynamic
size of unilib cache 0 140 0 0 bytes dynamic
SQL batch capture 0 0 0 0 switch dynamic
SQL Perfmon Integration 1 0 1 1 switch static
SQL Server Administration 0 0 0 0 not applicable [NULL]
sql server clock tick length 100000 0 100000 100000 microseconds static
sql text pipe active 0 0 0 0 switch dynamic
sql text pipe max messages 0 0 0 0 number dynamic
stack guard size 16384 #3120 16384 16384 bytes static
stack size 41984 #7994 41984 41984 bytes static
start mail session 0 0 0 0 switch dynamic
statement cache size 0 0 0 0 memory pages(2k) dynamic
statement pipe active 0 0 0 0 switch dynamic
statement pipe max messages 0 0 0 0 number dynamic
statement statistics active 0 0 0 0 switch dynamic
strict dtm enforcement 0 0 0 0 switch static
suspend audit when device full 1 0 1 1 switch dynamic
syb_sendmsg port number 0 0 0 0 id static
systemwide password expiration 0 0 0 0 days dynamic
tape retention in days 0 0 0 0 days dynamic
tcp no delay 1 0 1 1 switch static
text prefetch size 16 0 16 16 logical pages dynamic
time slice 100 0 100 100 milliseconds dynamic
total data cache size 0 2232350 0 2232350 kilobytes read-only
total logical memory 33792 2499244 1225366 1249622 memory pages(2k) read-only
total physical memory 0 2560000 0 1280000 memory pages(2k) read-only
txn to pss ratio 16 2332 16 16 number dynamic
Unicode 0 0 0 0 not applicable [NULL]
unified login required 0 0 0 0 switch dynamic
upgrade version 12500 0 12500 12500 id dynamic
use security services 0 0 0 0 switch static
User Environment 0 0 0 0 not applicable [NULL]
user log cache size 2048 0 4096 4096 bytes static
user log cache spinlock ratio 20 0 20 20 ratio dynamic
wait event timing 0 0 0 0 switch dynamic
xact coordination interval 60 0 60 60 seconds dynamic
xp_cmdshell context 1 0 1 1 switch dynamic

------------------------------------------------

Name Num_free Num_active Pct_act Max_Used Num_Reuse
additional network memory 556588 346608 38.38 346608 0
audit queue size 100 0 0.00 0 0
disk i/o structures 256 0 0.00 256 0
heap memory per user 4095 1 0.02 1 0
max cis remote connection 600 0 0.00 0 0
max memory 0 1280000 100.00 1280000 0
max number network listen 4 1 20.00 1 0
max online engines 0 4 100.00 4 0
memory per worker process 1024 0 0.00 0 0
number of alarms 29 11 27.50 14 0
number of aux scan descri 178 22 11.00 99 0
number of devices 242 14 5.47 14 0
number of dtx participant 500 0 0.00 0 0
number of java sockets 71 96 57.49 96 0
number of large i/o buffe 6 0 0.00 6 0
number of locks 299743 257 0.09 253760 0
number of mailboxes 29 1 3.33 1 0
number of messages 64 0 0.00 0 0
number of open databases 6 6 50.00 6 0
number of open indexes 253 9747 97.47 9859 0
number of open objects 33375 16625 33.25 16719 0
number of remote connecti 20 0 0.00 2 0
number of remote logins 20 0 0.00 2 0
number of remote sites 9 1 10.00 2 0
number of sort buffers 0 1431 100.00 3856 0
number of user connection 56 94 62.67 142 0
number of worker processe 0 0 0.00 0 0
partition groups 1024 0 0.00 0 0
permission cache entries 7 8 53.33 10 3738961
procedure cache size 0 134372 100.00 135268 219766
size of global fixed heap 150 0 0.00 0 0
size of process object he 1500 0 0.00 0 0
size of shared class heap 1536 0 0.00 0 0
size of unilib cache 121516 11120 8.38 11120 0
txn to pss ratio 2400 0 0.00 0 0

----------------------------------------------------------

Cache Name Status Type Config Value Run Value
default data cache Active Default 2048.00 Mb 2048.00 Mb
------------ ------------
Total 2048.00 Mb 2048.00 Mb
==========================================================================
Cache: default data cache, Status: Active, Type: Default
Config Size: 2048.00 Mb, Run Size: 2048.00 Mb
Config Replacement: strict LRU, Run Replacement: strict LRU
Config Partition: 1, Run Partition: 2
----------------------------------------------------------------

IO Size Wash Size Config Size Run Size APF Percent
2 Kb 122880 Kb 0.00 Mb 2048.00 Mb 10
...
Рейтинг: 0 / 0
parallel в index-е селекта (ASE 12.5)
    #36130104
Фотография DimaU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
опаньки
авторmax parallel degree 1 0 1 1 number dynamic
max scan parallel degree 1 0 1 1 number dynamic
значит не выставлено?.. Какое значение там оптимально забить?
...
Рейтинг: 0 / 0
parallel в index-е селекта (ASE 12.5)
    #36130190
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DimaU пишет:

> Есть тормозное место ASE 12.5: Select по таблице свыше 5 млн записей и
> отбор 50 тыс из них (по дате и др полям - c distinct-ом).

Ну, это УЖЕ криминал. На кой фиг тебе 50 тыщ записей, да ещё и с distinct-ом ?
Разве что аналитический запрос какой-то, но это ж не 50 тыщ записей должно
получиться, а 10-20.

Индекс есть и
> запрос попадает в него, но все равно крутится долго... (

Так и будет крутиться долго, 50 тыщ записей -- это немало.

> Вопрос:
> *Ускорит ли процесс конструкция parallel в index?* Надо что-то
> выставлять админу БД?

Это что за конструкция ? Не знаю такой.


> Пример:
> select distinct
> DT.DealID
> from
> tDealTransact DT (INDEX XIE12tDealTransact *parallel 4*)
> where
> DT.FixDate between '20090601' and '20090630'
> and DT.TransactType between 4 and 5
> and DT.SecurityID >= 0
> and DT.DealID > 0

А. Это никак не связано с индексом, это просто ещё один хинт оптимизатору.
Он никак с хинтом индекса не связан.

А поможет или нет - зависит от многих факторов. От того, какая таблица,
какие индексы, и какой сервер.

Как минимум план запроса надо смотреть.

Ну и поскольку ты сам не догадался план выложить, значит в оптимизации
понимаешь мало, то parallel вряд ли поможет, потому что очень уж много
надо сделать, чтобы он помогал.

И, кроме того, если запрос использует индекс, то, как правило,
параллельное выполнение не нужно. Хотя этот запрос, возможно,
исключение.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
parallel в index-е селекта (ASE 12.5)
    #36130234
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DimaUопаньки
авторmax parallel degree 1 0 1 1 number dynamic
max scan parallel degree 1 0 1 1 number dynamic
значит не выставлено?.. Какое значение там оптимально забить?

оптимальней забить те, которые рекомендует сам диасофт
но на тестовом сервере можно и попробовать
однако, следует сконфигурировать дополнительно еще несколько параметров
number of worker processes
memory per worker process

а при той конфигурации памяти, что у вас (~59МБ не распределено), возможно это и не получится - нет запаса.

и кстати, после изменения уровня параллелизма ваш процедурный кэш почистится и запросы пользователей "тормознут" на некоторое время
цитата The value of this parameter must be less than or equal to the current value of number of worker processes.

If you set max parallel degree to 1, Adaptive Server scans all tables or indexes serially.

Changing max parallel degree causes all query plans in the procedure cache to be invalidated, and new plans are compiled the next time you execute a stored procedure or trigger .
тынц

кстати №2 - поддержка диасофта не сочтет изменение параллелизма хорошей идеей
...
Рейтинг: 0 / 0
parallel в index-е селекта (ASE 12.5)
    #36130259
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DimaU пишет:

> значит не выставлено?.. Какое значение там оптимально забить?

Не более чем число engines.
max scan parallel degree лучше вообще не трогать.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
parallel в index-е селекта (ASE 12.5)
    #36130272
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv
DimaU пишет:

> Есть тормозное место ASE 12.5: Select по таблице свыше 5 млн записей и
> отбор 50 тыс из них (по дате и др полям - c distinct-ом).

Ну, это УЖЕ криминал. На кой фиг тебе 50 тыщ записей, да ещё и с distinct-ом ?
Разве что аналитический запрос какой-то, но это ж не 50 тыщ записей должно
получиться, а 10-20.



DimaU ,
кстати, забыл сказать - исходя из distinct сервер строит worktable в tempdb где и выполняет запрошенную уникальность. поэтому один из пунктов технического ускорения запроса - проверка tempdb. А именно - состав девайсов, их расположение на диске(-ах), характеристики дисков и т.д. Скорость серийной вставки и выборки по таблице в tempdb замеряли? попробуйте залить инсертами 50 тыщ записей и сделать по ним дистинкт.

в общем хочу сказать, что вопрос автор затронул глубинный ;) можно сказать, что затронул вершину айсберга
...
Рейтинг: 0 / 0
parallel в index-е селекта (ASE 12.5)
    #36130344
Фотография DimaU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор> Есть тормозное место ASE 12.5: Select по таблице свыше 5 млн записей и
> отбор 50 тыс из них (по дате и др полям - c distinct-ом).

Ну, это УЖЕ криминал. На кой фиг тебе 50 тыщ записей, да ещё и с distinct-ом ?
Разве что аналитический запрос какой-то, но это ж не 50 тыщ записей должно
получиться, а 10-20.

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

авторкстати, забыл сказать - исходя из distinct сервер строит worktable в tempdb где и выполняет запрошенную уникальность. поэтому один из пунктов технического ускорения запроса...

Заменил distinct на group by ) Thahk.
...
Рейтинг: 0 / 0
parallel в index-е селекта (ASE 12.5)
    #36131111
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DimaU пишет:

> Заменил distinct на group by ) Thahk.

Ага, шило на мыло.
distinct и group by -- это фактически одно и то же по эффекту на производительность.
distinct не вычисляет ни одного агрегата, group by - вычисляет.
Вот и вся разница.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
parallel в index-е селекта (ASE 12.5)
    #36131115
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
komrad пишет:

> кстати №2 - поддержка диасофта не сочтет изменение параллелизма хорошей
> идеей

И правильно сделает, планы могут поехать здорово.

DimaU, я бы на вашем месте ничего не трогал. По крайней мере до обсуждения
плана запроса тут.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
parallel в index-е селекта (ASE 12.5)
    #36131548
Фотография DimaU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DBA5NT:
авторПопробовать распараллелить можно, но я бы для начала помониторил этот отчет на предмет тяжелых запросов. Если нужно, методологию вышлем.
Не думаю, что при 4 engines у вас получится значимый эффект.
Для распараллеливания:
--------
sp_configure 'number of worker processes', 4
go
sp_configure 'max parallel degree', 4
go
sp_configure 'number of sort buffers',30000
go
reconfigure with override
go
--------
Кроме того, 'default data cache' размером в 2 Гб маловат для 63 Гб базы, поэтому параллелить собственно не в чем.
...
Рейтинг: 0 / 0
parallel в index-е селекта (ASE 12.5)
    #36131585
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DimaUDBA5NT:
авторПопробовать распараллелить можно, но я бы для начала помониторил этот отчет на предмет тяжелых запросов. Если нужно, методологию вышлем.
Не думаю, что при 4 engines у вас получится значимый эффект.
Для распараллеливания:
--------
sp_configure 'number of worker processes', 4
go
sp_configure 'max parallel degree', 4
go
sp_configure 'number of sort buffers',30000
go
reconfigure with override
go
--------
Кроме того, 'default data cache' размером в 2 Гб маловат для 63 Гб базы, поэтому параллелить собственно не в чем.

ну, исходя из того, что основные планы запросов в диасе "прибиты гвоздями", можно и попробовать... но я бы лично не стал ;)
проще отчет переписать, чем "лодку раскачивать", т.е. сервер

хотя-я, у софтовой компании всегда были и пилотные решения и пилотные клиенты ;)
поэтому можно и обкатать в боевых условиях, а не на стенде...

кстати, вам хватает 2.5Гб оперативки на базу размером в 63 Гб ?
Отчеты не тормозят? Или диски быстрые? ;)
...
Рейтинг: 0 / 0
parallel в index-е селекта (ASE 12.5)
    #36131667
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DimaUDBA5NT:
авторПопробовать распараллелить можно, но я бы для начала помониторил этот отчет на предмет тяжелых запросов. Если нужно, методологию вышлем.
Не думаю, что при 4 engines у вас получится значимый эффект.
Для распараллеливания:
--------
sp_configure 'number of worker processes', 4
go
sp_configure 'max parallel degree', 4
go
sp_configure 'number of sort buffers',30000
go
reconfigure with override
go
--------
Кроме того, 'default data cache' размером в 2 Гб маловат для 63 Гб базы, поэтому параллелить собственно не в чем.

имхо, ребята малость промахнулись с кол-вом рабочих процессов


цитата[number of worker processes] = [max parallel degree] x [the number of concurrent connections wanting to run queries in parallel] x [1.5]

ссылка

а письмо от Dba5nt подписано каким именем?
...
Рейтинг: 0 / 0
parallel в index-е селекта (ASE 12.5)
    #36132024
Фотография DimaU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автора письмо от Dba5nt подписано каким именем?
)) здесь не буду писать. В личке маил.
...
Рейтинг: 0 / 0
parallel в index-е селекта (ASE 12.5)
    #36132710
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
komrad пишет:

> ну, исходя из того, что основные планы запросов в диасе "прибиты
> гвоздями", можно и попробовать... но я бы лично не стал ;)
> проще отчет переписать, чем "лодку раскачивать", т.е. сервер

Если они прибиты гвоздями с помощью хинтов, то это --- гнилые гвозди.
Прибивать надо абстрактными планами, только тогда гарантированно план
сохранится. Хинты же -- только маяки для оптимизатора, а как он между
ними плавать будет -- дело его.

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
parallel в index-е селекта (ASE 12.5)
    #36132729
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv
Если они прибиты гвоздями с помощью хинтов, то это --- гнилые гвозди.

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


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