Note: This document is old. It describes a speed comparison between an older version of SQLite against archaic versions of MySQL and PostgreSQL. Readers are invited to contribute more up-to-date speed comparisons on the SQLite Wiki.
Легкая переносимость
Два фала не донесу. Потеряются.
Mysql совместима только с ДОСом..
Если ваш хостер не устравивает резервное копирование:
Цитата:
меняй хостера! Это плохой хостер!
Объектно-ориентированный интерфейс.
Что за высокоэффективные, легко расширяемые приложения?
Ограничения использования SQLite
Цитата:
когда в основном проводятся операции записи и считывания данных
Без коментариев ...
Цитата:
... необходимости проверки типа полей для выбора...
Типы полей появились?
--
Нужный вывод я не получил.
Поможешь?
----- Truly yours, Sasha.
ARTY
Отправлено: 18 Июля, 2006 - 21:56:02
Почетный посетитель
Покинул форум
Сообщений всего: 238
Дата рег-ции: Июнь 2006
Помог: -2 раз(а)
MySQL работает через сетевую подсистему (сокеты), а SQLite напрямую с файлами БД на диске через эффективный интерфейс. Отсюда скорость выше при работе с базами данных среднего уровня.
Согласен, что масштабируемость никуда не годится, но и SQLite не для этого был создан.
Очевидные плюсы SQLite:
1) Высокая производительность при работе с небольшими и средними БД (уже сказал);
2) Преимущество в легкой переносимости фалов баз данных. Особенно актуально, если хостер не разрешает экспортировать базы MySQL или ставит ограничения;
3) Нет ограничений на число соединений с БД, числа запросов к БД при размещении на стандартном виртуальном хостинге. Например, при работе с MySQL мой хостер устновил ограничения на 28000 соединений с БД в час и не более 50 одновременных соединений... А при использовании SQLite таких ограничений просто нет!
valenok
Отправлено: 19 Июля, 2006 - 14:48:16
Здесь могла бы быть ваша реклама
Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006 Откуда: Israel
Помог: 3 раз(а)
У меня MySQL работает через TCP
2) Преимущество в легкой переносимости фалов баз данных. Особенно актуально, если хостер не разрешает экспортировать базы MySQL или ставит ограничения;
Ну по ходу дела надо менять хостера если он не позволяет экспортировать БД.
А переносимость, Намного медленней если у тебя большие файлы
и много таблиц.
Ну насчёт подключений - согласен, но помойму никто столько подключений к базе в час не выжимает..
А вот 50 одновременных соединений.. хм.
Только если SQLite основан на файлах
то одновременно 50 чтений и записей ни к чему хорошему не приведут.
А если интересует скорость то намного быстрей работать напрямую с файлами из скриптом а не используя для этого ещё и SQLite..
----- Truly yours, Sasha.
Wange
Отправлено: 19 Июля, 2006 - 16:12:17
Гость
Покинул форум
Сообщений всего: 87
Дата рег-ции: Июль 2006 Откуда: Екатеринбург
Помог: 0 раз(а)
мне кажеться продукт SQLite спешал фром ленивых, ведь дейсвтительно свой парсер будет работать с файлами достаточно быстро. Хотя При большой нагрузке на сайт (посетителей) возникнут трудности с чтением и записью. А если еще и пытаться создавать индексевые структуры то еще и индексы будут рушеться, это так же касается и SQLite.
Покинул форум
Сообщений всего: 433
Дата рег-ции: Июнь 2006
Помог: -1 раз(а)
valenok пишет:
А если интересует скорость то намного быстрей работать напрямую с файлами из скриптом а не используя для этого ещё и SQLite..
Очень сомневаюсь! Считай сам. Файлы с диска читаются довольно медленно. Один файл БД SQLite будет обрабатываться быстрее чем несколько простых текстовиков. Да и скрипты не будут перегружены мусором, т.к из БД выбираются только необходимые данные, а не вся БД, как при работе с файлами.
ARTY
Отправлено: 19 Июля, 2006 - 21:47:15
Почетный посетитель
Покинул форум
Сообщений всего: 238
Дата рег-ции: Июнь 2006
Помог: -2 раз(а)
Согласен с f0rm4t, в SQLite применяются эффективные методы оптимизации, а с файлами получается все слишком примитивно...
valenok
Отправлено: 19 Июля, 2006 - 23:01:53
Здесь могла бы быть ваша реклама
Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006 Откуда: Israel
Помог: 3 раз(а)
Ну тогда весь мусор который находится у тебя в скрипте находится в движке БД
так что на скорость это вроде не влияет
Это ты в результате запроса получишь только нужные данные
а движку придётся читать весь файл.
Кстати, не подскажете эффективные методы оптимизации?
А, кстати в той статье я прочитал что sqlite хранит инфу в обычных текстовых фалах кажется..\n\n(Добавление)
Цитата:
А поскольку SQLite хранит данные в обычных файлах,
----- Truly yours, Sasha.
f0rm4t
Отправлено: 19 Июля, 2006 - 23:28:59
Посетитель
Покинул форум
Сообщений всего: 433
Дата рег-ции: Июнь 2006
Помог: -1 раз(а)
Движку в любом случае придется читать весь файл!
valenok пишет:
обычных текстовых фалах
Это означает не в бинарных файлах. БД SQLite можно открыть блокнотом и выдернуть от туда некоторые запросы. Только, опять же, смысла открывать текстовым редактором БД нет.
valenok
Отправлено: 20 Июля, 2006 - 08:40:12
Здесь могла бы быть ваша реклама
Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006 Откуда: Israel
Помог: 3 раз(а)
Ну с этим то я согласен,
я толоько не понимаю как выходит что такая связка:
скрипт - sqlite - file
работает быстрее чем
скрипт - file
----- Truly yours, Sasha.
f0rm4t
Отправлено: 20 Июля, 2006 - 14:17:53
Посетитель
Покинул форум
Сообщений всего: 433
Дата рег-ции: Июнь 2006
Помог: -1 раз(а)
Пример:
Есть БД SQLite с данными пользователей какого-нить форума.
И еще одна БД текстовый файл с подобным содержимым.
Есть скрипт для просмотра инфы о пользователях.
В первом случае, скрипт выполнит запрос, в результате которого будет выбрана только одна нужная запись.
Во втором скрипту придется перебирать все записи в файле, пока он не найдет нужную.
Теперь понятно?
Boss
Отправлено: 20 Июля, 2006 - 14:43:49
Новичок
Покинул форум
Сообщений всего: 57
Дата рег-ции: Июнь 2006 Откуда: Bakal City
Помог: 0 раз(а)
Цитата:
В первом случае, скрипт выполнит запрос, в результате которого будет выбрана только одна нужная запись.
Перебор записей будет аналогичен перебору файла.
Цитата:
Во втором скрипту придется перебирать все записи в файле, пока он не найдет нужную. Теперь понятно?
См. выше.
По аналогии БД это тот же файл, который храниться на жестком диски, почему БД быстрее файлов. Путем транзакций, правильной структуре БД может работать быстрее. Но не всегда.
В Гугле инфа храниться не в БД, а в "плоских" файлах, чем и объясняется быстрота его работы, так что вопрос очень спорный ...
Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006 Откуда: Israel
Помог: 3 раз(а)
To Format
мы уже как то обсуждали что это ты в скрипт получаешь только одну строку а так перебор фала за тебя делает движок базы
так что перебор никуда не девается.
----- Truly yours, Sasha.
f0rm4t
Отправлено: 21 Июля, 2006 - 12:01:35
Посетитель
Покинул форум
Сообщений всего: 433
Дата рег-ции: Июнь 2006
Помог: -1 раз(а)
"Движек базы" сделает это гораздо быстрее, нежели скрипт. Т.к. библиотеке не нужно интерпретироваться.
valenok
Отправлено: 21 Июля, 2006 - 15:05:07
Здесь могла бы быть ваша реклама
Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006 Откуда: Israel
Помог: 3 раз(а)
SQLite – это библиотека, написанная на языке C, реализующая SQL механизм работы с данными, другими словами, движок баз данных.
Ты кстати о какой библиотеке или
почему ей не надо интерпретироваться?
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.