<div dir="ltr">> <span style="color:rgb(0,0,0);white-space:pre-wrap">the backend constructs a complete SQL </span><span style="color:rgb(0,0,0);white-space:pre-wrap">query statement in form of a string (including the SqlValues), and </span><span style="color:rgb(0,0,0);white-space:pre-wrap">hands that to the database driver to parse. Is that indeed so?</span><div><span style="color:rgb(0,0,0);white-space:pre-wrap">></span></div><div><span style="color:rgb(0,0,0);white-space:pre-wrap"><br></span></div><div><span style="color:rgb(0,0,0);white-space:pre-wrap">Hi Olaf, that's the usual format for any HLL to pass statements (queries or updates) to SQL.</span></div><div><span style="color:rgb(0,0,0);white-space:pre-wrap"><br></span></div><div><span style="color:rgb(0,0,0);white-space:pre-wrap">Most HLLs provide some sort of modulate/demodulate</span><span style="color:rgb(0,0,0);white-space:pre-wrap"> so your program doesn't see the raw numbers-as-strings, but the parsing is going on in the background.</span></div><div><span style="color:rgb(0,0,0);white-space:pre-wrap"><br></span></div><div><span style="color:rgb(0,0,0);white-space:pre-wrap">Going via CSV isn't really saving anything: the "bulk insert" is again parsing those commas and the bits in between. (A dedicated SQL engine is probably more efficient than Haskell's string handling.)</span></div><div><span style="color:rgb(0,0,0);white-space:pre-wrap"><br></span></div><div><span style="color:rgb(0,0,0);white-space:pre-wrap">AntC</span></div></div>