Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
3.0.2
-
None
-
centos7 with ColumnStore 1.1 or Server 10.2.9
Description
There appears to be a significant overhead in query and returning results when using ODBC. I can reproduce this on both windows and unix but using unix here.
Create the following orders table:
create table orders (
|
o_orderkey bigint,
|
o_custkey int,
|
o_orderstatus char (1),
|
o_totalprice decimal(12,2),
|
o_orderdate date,
|
o_orderpriority char (15),
|
o_clerk char (15),
|
o_shippriority int,
|
o_comment varchar (79)
|
) ;
|
|
load data local infile 'orders50k.tbl' into table orders;
|
test data attached gzipped
In my case using a separate VM as the ODBC client host.
Using isql piped to /dev/null:
# time echo "select * from orders" | isql centos > /dev/null
|
|
real 0m3.553s
|
user 0m3.484s
|
sys 0m0.010s
|
using same with mysql odbc:
# time echo "select * from orders" | isql mycentos > /dev/null
|
|
real 0m0.767s
|
user 0m0.728s
|
sys 0m0.007s
|
with mysql client:
# time mysql -u root -h 172.21.21.6 -vvv test -e "select * from orders" > /dev/null
|
|
real 0m0.122s
|
user 0m0.081s
|
sys 0m0.006s
|
I can understand some overhead of ODBC but ours seem large and is not as good as mysql community driver performance?
Config:
# cat /etc/odbcinst.ini
|
[mariadb]
|
Description=Maria DB
|
Driver64=/usr/lib64/libmaodbc.so
|
|
[MySQL]
|
Description = ODBC for MySQL
|
Driver64 = /usr/lib64/libmyodbc5.so
|
|
|
# cat /etc/odbc.ini
|
[centos]
|
Driver=mariadb
|
Server=172.21.21.6
|
Database=test
|
Port=3306
|
User=root
|
Password=
|
|
[mycentos]
|
Driver=MySQL
|
Server=172.21.21.6
|
Database=test
|
Port=3306
|
User=root
|
Password=
|