首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 关于索引的问题 [已结贴,结贴人:bcbsoft]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • bcbsoft
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    • 揭帖率:
    发表于:2008-08-19 00:46:46 楼主
    当初在建立表时使用的是命令是:

    CREATE TABLE Xsb (
    [ID] [nvarchar] (45)  NOT NULL PRIMARY KEY ,
            [商品编号] [nvarchar] (10) NOT NULL ,
    ...
    ...

    建立的表中 ID 是主键,表中自动建立了一个索引,索引名:PK__Xsb_1ED998B2,索引中的列是:ID 升序
    类似这样的表还有很多,索引名后面部分的字符好象都是随机生成的

    现在我需要把Xsb和其它表的类似的索引中再加入其它列,比如在上面的 Xsb 的PK__Xsb_1ED998B2索引中加入 商品编号 升序 ,

    请问怎么用命令现实?
    对于其它表也有类似情况,索引名肯定不同了,用什么命令完成上面的问题并且与索引名无关??
    100  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • dutguoyi
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-19 08:13:161楼 得分:0
    感觉没有这个必要。只要主键名称确定了就没有问题。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • HEROWANG
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-19 08:26:212楼 得分:2
    在重新建立一个索引,设定索引名,然后加入你的列名
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • qiuming0306
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-19 08:39:303楼 得分:1
    删了重新弄吧
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • bcbsoft
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-19 10:17:244楼 得分:0
    商品编号不建索引时有一些查询特别慢,详细请看这个帖子:
    http://topic.csdn.net/u/20080818/22/6ed46a03-2b2f-4b1b-92a4-217b0cfa6296.html

    我是想用命令完成:
    1、把现在已有的表的索引中加入商品编号
    2、或者在建表的时候就能把把索引做好并且 ID 是主键

    谢谢楼上三位的回复!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • wgzaaa
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-19 11:13:085楼 得分:0
    因为一个表能建多个索引,所以不可能与索引名无关
    如果是更更改其中一个索引,可以用drop_Existing,如下,详细见帮助
    create nonclustered index 索引名 <通过sp_helpindex 表名 或其它方式得到> on 表名(原来字段,商品编号)
    whith PAD_INDEX ,FILLFACTOR =30,IGNORE_DUP_KEY ,drop_Existing
    建表的时候建索引如果是主键或UNIQUE 在create table 中写就可以了,
    如果是其它情况在建表语句后写建索引语句.
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • clq271520093
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-19 12:46:046楼 得分:1
    删了重新建立看看呢
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • bcbsoft
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-19 15:05:197楼 得分:0
    用SQL命令建表的时候能不能把索引做好并且 ID 是主键 ?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • wgzaaa
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-19 15:15:118楼 得分:96
    create table tb_10(id int,b int,c varchar(10) PRIMARY KEY (id ASC) )
    create table tb_11(id int,b int,c varchar(10) CONSTRAINT cons_A PRIMARY KEY (id ASC) )
    create table tb_12(id int,b int,c varchar(10) CONSTRAINT cons_B PRIMARY KEY (id ASC,b desc) )
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • bcbsoft
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-19 15:54:269楼 得分:0
    感谢Wgzaaa!


    再麻烦你一下,我是想用命令完成:
    把现在已有的表的索引中加入商品编号
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • wgzaaa
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-20 08:50:4610楼 得分:0
    5楼不是说了吗
    create nonclustered index 索引名 on 表名(原来字段,商品编号)
    whith PAD_INDEX ,FILLFACTOR =30,IGNORE_DUP_KEY ,drop_Existing
    ---索引名 <通过  sp_helpindex 表名          或其它方式得到>
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • wgzaaa
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-20 09:37:1911楼 得分:0
    补充说明:主键与unique约束请使用下列方式处理:以5楼第二句为例
    create table tb_11(id int,b int,c varchar(10) CONSTRAINT cons_A PRIMARY KEY (id ASC) )
    ----------------------------------
    alter table tb_11 drop constraint cons_A--先删除(索引名若不是自定义,请用sp_helpindex或其它方式找出)
    alter table tb_11 alter column id int not null--参与主键的列要为空
    alter table tb_11 alter column b int not null--参与主键的列要为空
    alter table tb_11 add CONSTRAINT cons_A PRIMARY KEY (id ASC,b desc) --b相当于"商品编号"
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved