access如何创建复合索引

说实话,在Access里搞复合索引这事儿,我当年也是摸着石头过河。
不过话说回来,这操作真不算复杂,关键是要把字段顺序给捋明白了。

我给你讲个我碰到的具体例子吧。
当时我们有个客户表,有姓名、性别、入职日期三个字段。
用户总喜欢按"姓名"查,但偶尔也想按"入职日期"和"性别"组合筛选。
你想想,要是单独建三个索引,表结构很快就乱套了。
所以我就琢磨着建个复合索引"姓名_入职日期_性别"。

操作起来是这样:先右键表名点"设计视图",然后顶上找到那个"索引"按钮(就是写着"索引设计"那个),点进去。
这时候会看到已有的索引,比如系统自带的那个"主键"索引。
我就在空白行开始填:第一列选"姓名",下面一行的"字段名称"填"姓名_入职日期_性别"(这名字自己取,要能说明白是哪几个字段),然后在"排序顺序"那给"姓名"设成升序,"入职日期"设成降序(这顺序得根据你常用查询来定),"性别"设成升序。

保存的时候会弹出对话框问"是否保存对表的设计更改",这时候点"是"。
说实话,第一次做的时候我有点慌,怕搞错了。
后来发现只要索引名取对了,顺序也合理,查询效率立马能看到提升。
比如之前全表扫描要等几秒,加了个复合索引后,同样的查询就变成零点几秒了。

不过要注意的是,索引虽然快,但也得看情况用。
我们有个项目,客户非要在每个字段上建索引,结果表更新数据时卡得要死。
后来我们教他只给"姓名"和"入职日期"建复合索引,其他字段不用,性能立马好了。
数据类型也得匹配,比如你给文本字段设了数字排序,那肯定不对。
我当时就踩过这个坑,把两个字段都设成文本排序才搞定。

总之,复合索引就是个好东西,但得用对地方。
字段顺序、索引命名,这些细节决定了它到底管不管用。
你多试几次,很快就能掌握这个技巧。

sql 中 index 用法_sql 中 index 创建索引教程

索引啊...就是加快查数据的...那个东西...SQL里面有...
主键索引...就是那个...每个表只能有一个...不能为空...保证记录唯一...就像身份证号一样...对吧...2 02 2 年那时候...很多公司都在用这个...保证数据不重复...
然后是唯一索引...这个可以有空值...但其他值不能一样...比如电话号码...不能有两个一样的...但手机号可以为空...
普通索引...就是最普通的...没有啥限制...哪个字段经常查...就给哪个字段加...比如用户的名字...经常搜名字...
组合索引...这个比较重要...就是多个字段组合在一起...比如...名字加电话...一起查...效率高...但顺序要搞对...比如先查名字...再查电话...
创建索引...就是用这个语句...CREATEINDEX...然后给索引起个名字...比如idx_email...然后在users表上...对email字段...
组合索引也是这样...CREATEINDEXidx_name_phoneONusers(name,phone);...就是名字和电话...顺序不能乱...
什么时候适合加索引...高频查的字段...比如email...经常在WHERE里面...JOIN的字段...排序的字段...
不适合加索引...表很小的时候...比如几百条...更新很频繁的字段...比如日志的状态...很多值都一样...比如性别...
注意啊...索引不是越多越好...多了会慢...更新数据要维护索引...会慢的...
怎么知道索引有没有用...用EXPLAIN...比如EXPLAINSELECTFROMusersWHEREemail='test@example.com';...看那个key列...是不是你的索引名...比如idx_email...
索引失效...有时候会...比如WHERE后面用函数...比如WHEREYEAR(create_time)=2 02 3 ...这个就会失效...因为要先算年份...
然后是LIKE...前面加%...比如LIKE'%abc'...这个也会失效...因为要搜所有记录...
还有就是...优化器觉得全表扫描更快...比如表很小...或者条件太复杂...
所以啊...索引很重要...但也要用对...别瞎加...多用EXPLAIN看看...调整调整...

如何使用TOAD创建数据库表索引

对,就是这个问题。
Toad创建索引简单几步:
1 . 连上数据库 2 . 选对数据库和表 3 . 右键表,选【Create Index】 4 . 输入索引名,选字段,选类型 5 . 确认后点【OK】
注意:索引占空间,影响写,设计要考虑。