Uploaded image for project: 'MariaDB Connector/ODBC'
  1. MariaDB Connector/ODBC
  2. ODBC-120

slow performance on querys with large number of result rows

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 3.0.2
    • Fix Version/s: N/A
    • Component/s: General
    • Labels:
      None
    • Environment:
      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=
      

        Attachments

          Activity

            People

            • Assignee:
              Lawrin Lawrin Novitsky
              Reporter:
              dthompson David Thompson (Inactive)
            • Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: