Что принять решение сохранить всего одно целое число? Sqlite? или Текстовый файл?

Сначала необходимо преобразовать введенные даты в формат даты базы данных гггг-мм-дд

 $from = date('Y-m-d',strtotime(

Сначала необходимо преобразовать введенные даты в формат даты базы данных гггг-мм-дд

[110]

ИЛИ

$sql = "SELECT * FROM  table_name WHERE  (from_date_column >='" . $from . "' AND to_date_column <='" . $end . "')"; 
POST['from'])); $end = date('Y-m-d',strtotime(

Сначала необходимо преобразовать введенные даты в формат даты базы данных гггг-мм-дд

[110]

ИЛИ

$sql = "SELECT * FROM  table_name WHERE  (from_date_column >='" . $from . "' AND to_date_column <='" . $end . "')"; 
POST['end '])); $sql = "SELECT * FROM table_name WHERE (date_column_name1 BETWEEN '" . $from . "' AND '" . $end . "') AND (date_column_name2 BETWEEN '" . $from . "' AND '" . $end . "')";

ИЛИ

$sql = "SELECT * FROM  table_name WHERE  (from_date_column >='" . $from . "' AND to_date_column <='" . $end . "')"; 
5
задан rogeriopvl 25 January 2009 в 00:08
поделиться

6 ответов

Поместите его в реальную базу данных и текстовый файл, и DB SQLite будет иметь проблемы блокировки, где, если файл (файлы) в настоящее время открыт и новый запрос для открытия это происходит, второй запрос будет ошибка. Используйте реальный DB как MySQL, MSSQL, или независимо от того, что доступно.

1
ответ дан 13 December 2019 в 05:43
поделиться

третья возможность: memcachedb. это совместимо с memcached, но хранит, это - хранилище значения ключа в файл BDB. это не только имеет команды чтения-записи, но также и атомарный инкремент/декремент для числовых значений.

еще одна альтернатива должна была бы записать 'встречный сервер'. независимый процесс, который получает 'считанные' и 'инкрементные' команды по сокету. преимущество состоит в том, что действительно легко сделать 'атомарные' инкременты. это хранит, это - счетчик (счетчики) на простом файле без проблем параллелизма, так как никогда нет, чем один сервер.

должно быть легко записать меньше чем в ста строках C. просто жесткий цикл, обрабатывающий одну команду за один раз, сбросив к диску каждые несколько секунд. так как обработка так проста, задержка минимальна.

5
ответ дан 13 December 2019 в 05:43
поделиться

База данных обычно масштабировалась бы лучше, чем файловая система, но Вы испытываете необходимость, чтобы быть осторожными и использовать соответствующие блокировки с любым механизмом.

3
ответ дан 13 December 2019 в 05:43
поделиться

Конечно, используйте плоский файл.

  • Это будет правильный поступок
  • Чрезвычайно простой
  • Никакая зависимость от сторонней библиотеки
  • Вы сможете просмотреть или обновить счетчик только с Блокнотом.
  • Быстрее, чем SQLite (никакой парсинг SQL, никакие другие издержки)
  • и столь же масштабируемый как SQLite (SQLite являются просто более сложными плоскими файлами),

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

2
ответ дан 13 December 2019 в 05:43
поделиться

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

1
ответ дан 13 December 2019 в 05:43
поделиться

Согласно SQLite это может обработать сайты, которые подходят "100K [так] хиты/день". При осмотре через это Вы, возможно, должны исследовать более устойчивую базу данных как MySQL. Но если Вы пишете записи 100k на базу данных каждый день для одного веб-сайта, я думаю, что что-то неправильно с тем, что Вы делаете, на основе Вашего примера. Это действительно походит на задание для кэширования. О котором я ничего не знаю в PHP, извините.

Они говорят следующее о файлах по сравнению с SQLite: "Много программ используют fopen (), освобожденный (), и fwrite (), чтобы создать и управлять файлами данных в форматах собственной разработки. SQLite работает особенно хорошо заменой для этих специальных файлов данных". (источник)

0
ответ дан 13 December 2019 в 05:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: