- 14, May 2024
- #1
Как INDEX работает с MYSQL?
Предположим, у меня есть 2 таких таблицы
//Таблица клиентов
идентификатор auto_increment,
имя пользователя char(30),
пароль символ(40),
телефонный интервал (10)
//Таблица профилей
идентификатор auto_increment,
имя пользователя char(30),
текст описания
И я создал ИНДЕКС по имени пользователя в обеих таблицах, вот так
создать индексное имя пользователя в
Запрос1: выберите * из
Предположим, у меня есть 2 таких таблицы
//Таблица клиентов
идентификатор auto_increment,
имя пользователя char(30),
пароль символ(40),
телефонный интервал (10)
//Таблица профилей
идентификатор auto_increment,
имя пользователя char(30),
текст описания
И я создал ИНДЕКС по имени пользователя в обеих таблицах, вот так
создать индексное имя пользователя в
customerTable
(имя пользователя, пароль)
создать индексное имя пользователя в profileTable
(имя пользователя)
Затем я запускаю этот запрос:
Запрос1: выберите * из
customerTable
, где username='abc' предел 1
Запрос2:
выберите * из customerTable
, где имя пользователя = 'abc' и пароль = 'xyzzzz' предел 1
Запрос3:
выберите customerTable., ProfileTable. из
CustomerTable, ProfileTable, где
customerTable.username='abc'
и customerTable.password='xyzzzzzzz'
и customerTable.username = ProfileTable.username
лимит 1
К каким индексам будут обращаться эти три запроса? Поскольку имя обоих индексов одинаковое «имя пользователя»…
Спасибо