Могу ли я заменить sqlite на нативную функциональность php без неприемлемого снижения производительности? - PullRequest
0 голосов
/ 23 января 2011

В php я получаю 2 набора данных из последующих вызовов API, каждый из которых возвращает около 100 записей.

Один набор представляет родительские объекты, другой - нет, один или два дочерних объекта совпадают с записью в родительском объекте.установить на основе значения общего ключа.

Я планировал сохранить значения в объекте и те записи в массиве, который затем можно было бы циклически обработать и отфильтровать при необходимости.Но, возможно, это излишне.После запуска страницы она будет кэшироваться в течение примерно двух часов.

Могу ли я просто очищать две таблицы sqlite каждый раз, когда страница получает данные, вставлять их и затем выполнять запрос вместо выполнения процесса с объектами и массивами?

Я готов принять дополнительные 2 секунды для дополнительной простоты.Может ли sqlite выполнить 100 вставок в каждую из двух таблиц и выполнить запрос выбора с объединением за это время.

Ответы [ 2 ]

3 голосов
/ 23 января 2011

Почему бы просто не попробовать?Две секунды на вашем данном оборудовании могут отличаться от двух секунд на моем, поэтому, если это значимое ограничение, то вам нужно реально реализовать и измерить, сколько времени это займет.

т.е.то, что вы можете измерить.

Тем не менее, как совершенно не догадывающееся предположение (что я не буду стоять в стороне и на самом деле откажусь в непринужденной, возможно, слегка насмешливой манере, пока я качаю головой в манереразочарован дядя), я был бы удивлен, если бы SQLite потребовалось две секунды, чтобы выполнить то, что вы пытаетесь сделать.

0 голосов
/ 23 января 2011

Если вы используете транзакцию, SQLite может выполнять тысячи вставок в секунду, поэтому он может легко справиться с сотней или около того. Ключом является использование транзакции, если вы этого не сделаете, она автоматически создаст транзакцию для каждой вставки, что замедляет процесс. Запросы с объединением на самом деле не являются его сильной стороной, но если ваша структура запросов не слишком сложна, я думаю, что она может сделать все это за две секунды.

Это только предположение, хотя на самом деле все зависит от точной схемы базы данных, данных и оборудования. Единственный способ узнать это - попробовать и посмотреть.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...