{"repo":"winterland1989/mysql-haskell","free":true,"listed":false,"github":"https://github.com/winterland1989/mysql-haskell","clone":"git clone https://github.com/winterland1989/mysql-haskell.git","description":"Pure haskell mysql driver","language":"Haskell","stars":126,"topics":["mysql","haskell","mysql-driver","database"],"license":"BSD-3-Clause","category":"databases-storage","readme_excerpt":"mysql-haskell ============= mysql-haskell is a MySQL driver written entirely in haskell. Is it fast? ---------- In short, select (decode) is about 1.5 times slower than pure c/c++ but 5 times faster than mysql-simple , insert (encode) is about 1.5 times slower than pure c/c++, there're many factors involved(tls, prepared statment, batch using multiple statement): Above figures showed the time to: perform a \"select from employees\" from a sample table insert 1000 rows into a 29-columns table per thread with auto-commit off. The benchmarks are run by my MacBook Pro 13' 2015. Motivation ---------- While MySQL may not be the most advanced sql database, it's widely used among China companies, including but not limited to Baidu, Alibaba, Tecent etc., but haskell's MySQL support is not ideal, we only have a very basic MySQL binding written by Bryan O'Sullivan, and some higher level wrapper built on it, which have some problems: + lack of prepared statment and binary protocol support. + limited concurrency due to FFI. + no replication protocol support. mysql-pure is intended to solve these problems, and provide foundation for higher level libraries such as groundhog and persistent, so that accessing MySQL is both fast and easy in haskell. Guide ----- The Database.MySQL.Base module provides everything you need to start making queries: query/query will return a column definition list, and an InputStream of rows, you should consume this stream completely before start new queries. It's re","default_branch":null,"files":null,"tree":[],"storefront":"/r/winterland1989","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/winterland1989/mysql-haskell/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}