В данный момент я выбираю строки из таблиц table01 и table02, используя:
SELECT t1.*,t2.* FROM table01 AS t1
INNER JOIN table02 AS t2 ON (t1.ID = t2.t1ID)
WHERE t1.UUID = 'whatever';
Столбец UUID представляет собой уникальный индекс, тип: char (15), с буквенно-цифровым вводом.Я знаю, что это не самый быстрый способ выбора данных из базы данных, но UUID является единственным идентификатором строки, доступным для внешнего интерфейса.
Поскольку я должен выбирать по UUID, а неID, мне нужно знать, какой из этих двух вариантов я должен использовать, если, скажем, таблица состоит из 100 000 строк.На какие различия в скорости я бы посмотрел, и увеличился ли бы индекс UUID и стал бы отставать от БД?
Получить идентификатор перед выполнением "большого" выбора
1. $id = SELECT ID FROM table01 WHERE UUID = '{alphanumeric character}';
2. SELECT t1.*,t2.* FROM table01 AS t1
INNER JOIN table02 AS t2 ON (t1.ID = t2.t1ID)
WHERE t1.ID = $id;
Илисохраните его таким, каким он является сейчас, используя UUID.
2. SELECT t1.*,t2.* FROM table01 AS t1
INNER JOIN table02 AS t2 ON (t1.ID = t2.t1ID)
WHERE t1.UUID = 'whatever';
Примечание: все новые строки создаются путем проверки, существует ли сгенерированный системой uniqueid, прежде чем пытаться вставить новую строку.Сохранение столбца всегда уникальным.