Presto: медленный ответ на запрос SQL Server - PullRequest
0 голосов
/ 14 мая 2018

У меня проблемы с настройкой коннектора SQL Server для Presto db.Выполнение простого оператора выбора занимает более 20 секунд (включая планирование и время выполнения).Вот скриншот Presto Dashboard (Фактическое время выполнения сервера sql меньше 50 мс.)

The actual sql server execution time is under 50ms.

Таблица temp содержит только 2 записи.

Вот моя конфигурация коннектора SQL Server:

connector.name=sqlserver
connection-url=jdbc:sqlserver://[server address]
connection-user=user
connection-password=password

Конфигурация Presto:

coordinator=true
node-scheduler.include-coordinator=true
http-server.http.port=8080
query.max-memory=5GB
query.max-memory-per-node=1GB
discovery-server.enabled=true
discovery.uri=http://localhost:8080

ОБЪЯСНИТЬ РЕЗУЛЬТАТ АНАЛИЗА

Fragment 1 [SOURCE]                                                                                                                                                                    
     CPU: 10.87ms, Input: 2 rows (44B); per task: avg.: 2.00 std.dev.: 0.00, Output: 2 rows (44B)                                                                                       
     Output layout: [id, col1]                                                                                                                                                   
     Output partitioning: SINGLE []                                                                                                                                                     
     Execution Flow: UNGROUPED_EXECUTION                                                                                                                                                
     - TableScan[sqlserver:sqlserver:dbo.temp:sns_viz:dbo:temp, originalConstraint = true] => [id:char(10), col1:varchar]                                                        
             Cost: {rows: ? (?), cpu: ?, memory: 0.00, network: 0.00}                                                                                                                   
             CPU fraction: 100.00%, Output: 2 rows (44B)                                                                                                                                
             Input avg.: 2.00 rows, Input std.dev.: 0.00%                                                                                                                               
             id := JdbcColumnHandle{connectorId=sqlserver, columnName=id, jdbcTypeHandle=JdbcTypeHandle{jdbcType=-15, columnSize=10, decimalDigits=0}, columnType=char(10)} 
             col1 := JdbcColumnHandle{connectorId=sqlserver, columnName=col1, jdbcTypeHandle=JdbcTypeHandle{jdbcType=-9, columnSize=2147483647, decimalDigits=0}, columnType=varchar} 

IПротестировал MySQL коннектор с аналогичной конфигурацией, и он отлично работает.Любая помощь будет принята с благодарностью!

...