Re: [FreeTDS] connection pool

"Thompson, William" <[email protected]>
Newsgroups gmane.comp.db.tds.freetds
Message-ID <4A990489BF566041A7724DC577BB060417F55118@smtp_mail.bankofamerica.com>
Hi Eric,

Your original question was how to insert data into a database table as quickly as possible.
You said that you'd tried individual inserts using dbcmd() and dbsqlexec(), which are part of the db-library API.
You should use the "bcp" api that is part of db-library. This is the quickest way to insert data into a database table.
The api is described here, in the Sybase documentation. FreeTDS implements these functions too.

http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.help.ocs_12.5.1.dblib/html/dblib/X40041.htm

It will require a little more programming than using dbsqlexec(), but if speed is your requirement, this is the way forward.

Regards,

Bill

-----Original Message-----
From: FreeTDS [mailto:[email protected]] On Behalf Of Xiaobiao Yin
Sent: 01 September 2016 01:53
To: FreeTDS Development Group
Subject: Re: [freetds] [FreeTDS] connection pool

Hi Frediano

    Thank you really.

    In my case, I have to insert the rows to table one by one.

    For the connection pooling, I got the information from the User Guide.

   http://www.freetds.org/userguide/tdspool.htm,

   The FreeTDS connection pool currently only supports TDS version 4.2.


   If FreeTDS 1.0 supports protocol 7.2 with some limitations, where can I find the

limitation's description, so that I can identify if it will affect my case.


  BTW, is there any sample code for connection pooling?


Thanks in advance

Eric

________________________________
From: FreeTDS <[email protected]> on behalf of Frediano Ziglio <[email protected]>
Sent: Wednesday, August 31, 2016 9:18 PM
To: FreeTDS Development Group
Subject: Re: [freetds] [FreeTDS] connection pool

2016-08-31 11:35 GMT+01:00 Xiaobiao Yin <[email protected]>:
> Hi Experts
>
>
>     I use FreeTDS (linux) to communicate with a SQL server 2005 in 
> Windows,
>
> and tried to use [dbcmd() and dbsqlexec()]  100 times to insert 1 item to database tables.
>
>    The performance is that one insert statement consumes about 2~3ms.
>
>
>     I know there is a so called Connection pool, but it only support TDS 4.2 while SQL server need TDS 7.2.
>
>
>    So in order to optimize the performance, I may need to open 2 or 
> more connections, it is a little hard to
>
> control these connections.
>
>
>    My question is that are there some ways to optimize the performace.
>
> The target should be 1ms per 1 insert statement.
>
>
> Any suggetions are welcome.
>
>
> Thanks
>
> Eric
>


It's not clear if the problem is application or connections.
If you have one application that needs to insert rows into a table it's better to batch the inserts instead of using a query for each row.
If you have multiple process each needing to connect to database and insert a row then would be better to use a connection pooling. The connection pooling included in FreeTDS 1.0 supports protocol 7.2 with some limitations.

Frediano
_______________________________________________
FreeTDS mailing list
[email protected]
http://lists.ibiblio.org/mailman/listinfo/freetds
FreeTDS Info Page - ibiblio<http://lists.ibiblio.org/mailman/listinfo/freetds>
lists.ibiblio.org
The FreeTDS mailing list hosts discussions of all things FreeTDS. That includes help of all kinds, as well as development issues. This is list recommended reading for ...



_______________________________________________
FreeTDS mailing list
[email protected]
http://lists.ibiblio.org/mailman/listinfo/freetds

----------------------------------------------------------------------
This message, and any attachments, is for the intended recipient(s) only, may contain information that is privileged, confidential and/or proprietary and subject to important terms and conditions available at http://www.bankofamerica.com/emaildisclaimer.   If you are not the intended recipient, please delete this message.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.