Предположим, у вас есть две таблицы:Производительность кластерного индекса по SQL Query
Student(id, class) // 100 rows
Course(id, course) // 100 rows
Первоначально предполагают, что нет индекса на обеих таблицах. Теперь предположим, что у нас есть запрос: -
select id, course
from Student join course
on student.id = Course.id and student.id = 20
Поскольку у вас нет какой-либо индекс, поэтому вам нужно пройти все строки в обеих таблицах.
Time complexity - O(100 x 100)
Теперь мы обновили таблицу и Student.id
является первичным ключом. На нем будет создан кластерный индекс, и теперь общая сложность составляет
Time complexity - O(log 100) // Nested loop join
Считаете ли вы, что мое предположение верно? Может ли кто-нибудь мне помочь?
вложенного цикл Algo здесь:
Я думаю, вы не должны смешивать соединение + где. 'select id, курс от Student join Course ON student.id = Course.id WHERE student.id = 20' – lad2025
Обновлен запрос! – python
Пожалуйста, не используйте этот устаревший синтаксис соединения. Он работает, но SQL Standard имеет 'JOIN .. ON ...' для этого. – lad2025