On 2010-02-18 05:54, Alexander Barkov wrote:
Hi Sjoerd,
Sjoerd Mullender wrote:
On 2010-02-17 09:49, Alexander Barkov wrote:
Hi Sjoerd,
Sjoerd Mullender wrote:
As promised, I looked at the issue more.
There were at least two problems: - there was no BLOB (or CLOB) support in the ODBC driver (i.e. SQL_LONGVARBINARY and SQL_LONGVARCHAR), - the SQL server refused empty BLOBs (blob '').
I have fixed both issues in the upcoming release (due out later this month).
I created a little program to insert a value according to your description (same table, using SQLBindParameter, SQLPrepare and SQLExecute), and with my fixes that program now runs correctly. Thank you very much for the good news! I'll be waiting for the next release.
I still have to look into the issue that you had with large amounts of data. I am integrating mnoGoSearch (http://www.mnogosearch.org) with MonetDB. It looks promising from performance point of view so far (comparing with the same size databases in the other DBMSs). Now it would be nice to test with large amount of data.
I just fixed a bug in the mapi library (underneath odbc) in the code dealing with very large queries. I can now execute your monster query without problem.
This fix will also be in the upcoming release.
Thank you! Will prepared statements with large text/binary parameters also work?
Probably. I didn't test that specifically, but it uses the same underlying code that was fixed.
When trying out large databases in MonetDB, make sure you keep address space limitations in mind. All data in all tables that your query touches is loaded or memory mapped into your address space. On a 32 bit architecture that means your tables cannot be larger than 2 or 3 GB (depending on the actual operating system being used).
Thanks for the tip!
Does this limitation apply per single query, or per transaction?
Per query. However, if your transactions touch so much data, you may do well to use a 64-bit build on a machine with plenty of memory. Moving stuff in and out of memory is expensive.
Your database can be larger, but the set of tables touched in a query can not. If you're using a 64 bit architecture (and mserver!) than the limit is too high to be a concern.
Thank you for your help and for the good software!
<skip>
------------------------------------------------------------------------------ Download Intel® Parallel Studio Eval Try the new software tools for yourself. Speed compiling, find bugs proactively, and fine-tune applications for parallel performance. See why Intel Parallel Studio got high marks during beta. http://p.sf.net/sfu/intel-sw-dev _______________________________________________ MonetDB-users mailing list MonetDB-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/monetdb-users
-- Sjoerd Mullender