Sql 使用这些重复查询进行索引的最佳方法
我正在尝试使用索引,但我还是新手。假设我经常使用以下查询,所以我需要为表Sql 使用这些重复查询进行索引的最佳方法,sql,sql-server,database,indexing,Sql,Sql Server,Database,Indexing,我正在尝试使用索引,但我还是新手。假设我经常使用以下查询,所以我需要为表music和musers创建索引 SELECT * FROM music where musician_id = @id SELECT * FROM music where musician_id = @id and date_of_birth > @date SELECT * FROM music where date_of_birth &g
music
和musers
创建索引
SELECT *
FROM music
where musician_id = @id
SELECT *
FROM music
where musician_id = @id and date_of_birth > @date
SELECT *
FROM music
where date_of_birth > @date1 and date_of_birth < @date2
SELECT first_name, last_name, musician_website
FROM musicians
where last_name = @last_name
SELECT customer_id, first_name, last_name,musician_website
FROM musicians
where last_name = @last_name and musician_website= @site
选择*
来自音乐
其中_id=@id
挑选*
来自音乐
其中音乐家\u id=@id和出生日期>@date
挑选*
来自音乐
其中出生日期>日期1和出生日期<日期2
选择名字、姓氏、音乐家网站
来自音乐家
其中last_name=@last_name
选择客户id、姓氏、音乐家网站
来自音乐家
其中last_name=@last_name和music_website=@site
如果我想为这些查询建立索引,您认为什么是最好的解决方案。是否最好为我想要的每一列制作一个(例如,1代表音乐家id
,1代表出生日期
等),或者可以将它们作为这样的配对:音乐家id
和出生日期
,然后用last\u name
和music\u网站
进行第三次查询(我需要按日期排序)。
在这里做什么最好?为什么?您想要的索引是:
(查询1和2)音乐(音乐家id、出生日期)
- 音乐(出生日期)(查询3)
(问题4和5)音乐家(姓氏,网站)
对于最后一个索引,如果确实需要,可以包括
customer\u id
和first\u name
。您需要的索引是:
(查询1和2)音乐(音乐家id、出生日期)
- 音乐(出生日期)(查询3)
(问题4和5)音乐家(姓氏,网站)
对于最后一个索引,如果确实需要,您可以包括
客户id
和名字
。至少包括表架构。。。为什么音乐
有出生日期
?我们应该猜到你想在那里包含一个连接吗?不,这只是表的一个坏名字。table music包含关于音乐家和出生日期的信息。听起来你需要在索引之前担心。是的,真的,谢天谢地,我才是项目的开始。感谢您指出这一点。至少包括表架构。。。为什么音乐
有出生日期
?我们应该猜到你想在那里包含一个连接吗?不,这只是表的一个坏名字。table music包含关于音乐家和出生日期的信息。听起来你需要在索引之前担心。是的,真的,谢天谢地,我才是项目的开始。感谢您指出这一点。查询1、2和3指的是一个名为music
的表,而不是music
@SqlZim。非常感谢。比I更好的眼睛。查询1、2和3指的是一个名为music
的表,而不是musiers
@SqlZim。非常感谢。眼睛比我好。