Създаване и работа с таблици - Част 3

Може ли sqlite3 да бъде по-бърз от MySQL на споделен хостинг и малки до средни уебсайтове (по-малко от 500 посетители на ден).

Имам акаунт в популярен доставчик на споделен хостинг и забелязах, че това стана доста бавно пренасочване на страници. Съмнението ми е, че това може да се случи, защото сървърът MySQL е претоварен.

Някои CMS работят добре и с SQLlite, така че се лутах дали да не използвам SQLite за новите сайтове вместо MySQL.

  • 99% от времето, да.

Трудно е да се прецени кой ще бъде по-бърз, без допълнителни подробности за това как е конфигуриран вашият споделен хостинг.

Приложение, което използва MySQL, ще трябва да осъществи връзка с MySQL сървър. Това може да се направи на отдалечен / локален хост през TCP или на локален хост чрез Unix сокет. Последното вероятно ще бъде малко по-бързо, тъй като няма да имате режийни за TCP (дори на localhost).

За разлика от тях, SQLite използва файл на същата система директно. Ако е на същия диск, вероятно е по-бързо от връзка с отделен сървър. Някои споделени хостове обаче използваха споделени файлови системи (напр. NFS), където действителното ви съхранение на файлове все пак може да е отдалечено.

Други фактори е вероятно да окажат въздействие:

  • Видът на ключалките и изолацията, изисквани от вашето приложение.
  • Самите заявки и как е конфигуриран индексът. Нямам предвид един пример за SQLite v.s. MySQL, но PostgreSQL може да създава индекси с помощта на функции (напр. CREATE INDEX day_idx ON my_table(date_trunc('day', some_timestamp))), което MySQL не може.
  • Използване на изготвени отчети, възможно кеширане, ...

Всичко това ще варира в зависимост от действителното приложение и конкретната конфигурация на вашия споделен хост. Единственият начин да разберете кой ще работи по-добре е да опитате и сравните.

  • 1 SQLite, както при повечето RDMBS, също има свои собствени съображения за мащабиране. Въпреки че ако сайтът е малък не само за посетители, но и за съдържание, това не би трябвало да е проблем. Но също така трябва да се отбележи, че SQLite няма дизайн клиент-сървър, както повечето RDBMS. Клиентът на SQLite върши цялата работа, така че докато MySQL DB може да е по-бавен поради латентността на мрежата, приложението може да бъде по-бързо като цяло поради разтоварването на DB операции на DB сървъра.
  • Познавате ли някакъв инструмент за тестване? Някой скрипт, който може да се изпълни както на MySQL, така и на SQlite?
  • 1 Има няколко въпроса за тестване на уеб ефективността на този сайт, които изброяват няколко инструмента (напр. Този). Основното тук е, че има малко смисъл да тествате SQLite срещу MySQL, ако не тествате приложението като цяло, за предпочитане на действителния хост (или нещо с подобни характеристики).

е работил за вас: Charles Robertson | Искате ли да се свържете с нас?