<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>В лабиринте извилин &#187; sqlite</title>
	<atom:link href="http://www.charnad.com/blog/tag/sqlite/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.charnad.com</link>
	<description>Блог-центр им. CharnaD</description>
	<lastBuildDate>Wed, 18 Jan 2012 14:52:50 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Пара советов по SQLite</title>
		<link>http://www.charnad.com/blog/para-sovetov-po-sqlite/</link>
		<comments>http://www.charnad.com/blog/para-sovetov-po-sqlite/#comments</comments>
		<pubDate>Fri, 29 Jan 2010 17:16:12 +0000</pubDate>
		<dc:creator>CharnaD</dc:creator>
				<category><![CDATA[SQL]]></category>
		<category><![CDATA[sqlite]]></category>

		<guid isPermaLink="false">http://www.charnad.com/?p=926</guid>
		<description><![CDATA[Если у вас возникают ошибки при работе с SQLite, то вот у меня пара решений. Если у вас ошибка "Unable to open database file" и при этом база читается, даже если вы дали права файлу БД 0777, то вам еще надо дать права на запись папке, в которой лежит файл. Дело в том, что при [...]]]></description>
			<content:encoded><![CDATA[<p>Если у вас возникают ошибки при работе с SQLite, то вот у меня пара решений. </p>
<p>Если у вас ошибка "Unable to open database file" и при этом база читается, даже если вы дали права файлу БД 0777, то вам еще надо дать права на запись папке, в которой лежит файл. Дело в том, что при открытии транзакции пишется файл dbfilename-journal. Так же под Windows эта проблема может означать наличие кириллических символов в пути к базе.</p>
<p>Если вы по привычке написали ON DUPLICATE KEY UPDATE ..., и не понимаете в чем ошибка - обратитесь к <a href="http://www.sqlite.org/lang_insert.html">официальному мануалу</a> и просто измените INSERT на REPLACE, а "ON DUPLICATE..." сотрите.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.charnad.com/blog/para-sovetov-po-sqlite/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Тормозной SQLite? Совсем нет!</title>
		<link>http://www.charnad.com/blog/tormoznoi-sqlite-sovsem-net/</link>
		<comments>http://www.charnad.com/blog/tormoznoi-sqlite-sovsem-net/#comments</comments>
		<pubDate>Wed, 12 Nov 2008 14:36:16 +0000</pubDate>
		<dc:creator>CharnaD</dc:creator>
				<category><![CDATA[SQL]]></category>
		<category><![CDATA[sqlite]]></category>
		<category><![CDATA[тесты]]></category>

		<guid isPermaLink="false">http://www.charnad.com/blog/?p=64</guid>
		<description><![CDATA[Эта статья была запощена на хабрахабр до появления этого блога. А теперь она обрела свой дом. Как-то заинтересовавшись SQLite я решил проверить, а не будет ли оно быстрее MySQL, или хотя бы равным по скорости. Я исходил из того, что SQLite скорее всего будет удобна для мелких таблиц, типа простых счетчиков посещений. Поэтому провел тесты [...]]]></description>
			<content:encoded><![CDATA[<p>Эта статья была запощена на хабрахабр до появления этого блога. А теперь она обрела свой дом.</p>
<p>Как-то заинтересовавшись SQLite я решил проверить, а не будет ли оно быстрее MySQL, или хотя бы равным по скорости.<span id="more-64"></span></p>
<p>Я исходил из того, что SQLite скорее всего будет удобна для мелких таблиц, типа простых счетчиков посещений.<br />
Поэтому провел тесты следующим способом: я пять раз мерял время по 100 циклов обновления записи в базе и пять раз по 100 чтения.</p>
<p>Код <a href="http://www.charnad.com/stuff/test.txt">тут</a>.</p>
<p>Итак, в <a href="http://phpclub.ru/detail/article/sqlight_intro">статье</a> убеждали: "В последнее время, вы, возможно, слышали о новом расширении для PHP: SQLite. Есть много причин, по которым SQLite может показаться лучшим достижением с тех пор, как научились резать хлеб. SQLite предлагает добротный SQL интерфейс к нерелятивистской базе данных и создаёт элегантную альтернативу громоздким интерфейсам других баз данных без потери функциональности или скорости, как можно было бы ожидать.".</p>
<p>Смотрим что же получилось по тестам…<br />
SQLite                    MySQL<br />
Запись<br />
0.45911908149719	0.031841039657593<br />
0.46412396430969	0.031555891036987<br />
0.49027895927429	0.029323101043701<br />
0.46884489059448	0.029382944107056<br />
0.50253915786743	0.028644800186157<br />
Среднее<br />
0.47698121070862	0.030149555206299</p>
<p>Чтение<br />
0.026177883148193	0.060520172119141<br />
0.026360988616943	0.059216022491455<br />
0.026273012161255	0.062637090682983<br />
0.026113986968994	0.062775135040283<br />
0.026944160461426	0.062674045562744<br />
Среднее<br />
0.026374006271362	0.061564493179321</p>
<p>Удивительный провал на запись и преимущество в чтении. Однако спасибо <a href="http://ptalus.habrahabr.ru/">ptalus</a> , который пролил свет на это дело. В <a href="http://www.sqlite.org/speed.html">мануале</a> написано, что для каждой записи файл открывается-закрывается, что и влечет за собой такую тормознутость, однако стоит добавить</p>
<p>sqlite_query($dbhandle, 'BEGIN;');<br />
sqlite_query($dbhandle, 'COMMIT;');</p>
<p>вокруг запроса и время записи просто магически меняется.</p>
<p>Запись:<br />
0.014724016189575<br />
0.014418125152588<br />
0.015676975250244<br />
0.014610052108765<br />
0.014219999313354<br />
Среднее:<br />
0.014729833602905</p>
]]></content:encoded>
			<wfw:commentRss>http://www.charnad.com/blog/tormoznoi-sqlite-sovsem-net/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

