Раздел базы данных — лучше сделать с помощью PHP или MySQL?

Позвольте мне сначала объяснить контекст: я строю трекер посещений с помощью PHP и MySQL. Поэтому, когда пользователь посещает определенный URL, его информация будет зарегистрирована, тогда он будет перенаправлен на страницу. Затем, когда он нажмет на ссылку, я зарегистрирую информацию и перенаправлю пользователя к месту назначения.

Так что мне нужно ЗАПИСЫВАТЬ информация в базе данных на момент посещения. И мне нужно Прочти и напиши информация на момент клика.

Моя проблема в том, что у меня будет много строк для сохранения в базе данных. И поскольку мне нужно очень быстро читать и писать (чтобы перенаправить пользователя как можно быстрее, это главная проблема), я думаю о разбиении своих таблиц.

Но каков будет самый быстрый способ сделать это? Я думал о двух решениях:

Разделение таблицы с MySQL

В основном просто делаю раздел на столе, основываясь на диапазоне зарегистрированного идентификатора. Когда я буду запрашивать данные, MySQL позаботится об этом напрямую, и это будет прозрачно со стороны PHP.

Но так как я не знаю, сколько строк мне нужно зарегистрировать, как я могу эффективно определить диапазон? А что, когда я достигну предела разделов?

Создание новых таблиц при необходимости

Если у меня есть фактическое количество строк, кэшированных в памяти, я могу знать, что каждые 100.000 строк мне нужно создать новую таблицу. Итак, немного прежде чем я достигну предела, мне просто нужно создать новую таблицу. И по заданному идентификатору мне просто нужно поделить на 100.000, чтобы узнать таблицу, которую мне нужно запросить.

Таким образом, у меня не возникнет проблем с максимальным количеством разделов.

Но что будет наиболее эффективным в моей ситуации? Может ли система разделов, основанная на PHP (это то, что я собираюсь сделать в решении № 2), быть более эффективной, чем система из MySQL? Или я должен полагаться на MySQL и, если я когда-либо достигну предела, создать другую многораздельную таблицу?

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]