Решаю задачу получения строки из таблицы, соответствующей текущему запрошенному урлу.
На ум приходят два варианта (тут немаловажно с т.ч.зрения SEO-ЧПУ), чисто для примера:
site.ru/catalog/249-smartfon-samsung-galaxy-s20
Выдираем из урла 249 и находим запись в таблице по ключу типа INT:
CREATE TABLE `tbl1` (
`id` INT(9) UNSIGNED NOT NULL AUTO_INCREMENT,
...
PRIMARY KEY (`id`) USING BTREE,
) ENGINE=InnoDB;
SELECT * FROM `tbl1` WHERE id=249;
site.ru/catalog/smartfon-samsung-galaxy-s20
CREATE TABLE `tbl2` (
`id` TEXT NOT NULL,
...
PRIMARY KEY (`id`(100)) USING BTREE
) ENGINE=InnoDB;
SELECT * FROM `tbl2` WHERE id='smartfon-samsung-galaxy-s20';
Вопрос: Намного ли быстрее будет поиск в первом варианте при прочих равных условиях, или примерно одинаково, если пренебречь размером индексов?
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Я уже много дней пытаюсь связать две таблицы users и friends, вот сами таблицы и их содержимое: users id (идентификатор) остальное не важно friends id u_1(идентификатор...
Не получается правильно написать запрос, прошу помощи у знающих людей!