首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 这样的表怎么设计比较合理?查询速度比较快 [无满意答案结贴,结贴人:ThreeColor]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • ThreeColor
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    • 揭帖率:
    发表于:2008-08-09 11:22:35 楼主
    准备设计这样一个表tbl,拥有字段
    A、B、...

    其中A字段是n行定长(10)的字符,n可能有几千几万,如
    A000000001
    A000000002
    A000000003
    A000000004
    ...
    A000010000

    其中B字段是m行不定长的字符,m可能1、2、3,比较小,如
    B01
    B02
    B03
    B04

    设计完这样一个表后,我要实现查询功能,有两个变量a、b,如
    a=A000000254
    b=B02
    通过这两个值,想确认是否存在于表tbl中

    -----------------
    我想了想,如果建立3个表,一个母表、一个子表(A字段),一个子表(B字段),可以实现,但是不太合理
    另外把A、B建立为text字段,如A:A000000001|A000000002|A000000003|A000000004,但是也觉得不太好。
    请问有没有比较合理有效的方法,且向后查询速度一定要快,n比较大,甚至可能10万行
    50  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • HEROWANG
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-09 11:27:031楼 得分:0
    在A字段上建立索引没有?建立索引的话,对10万行来说,查询速度不会慢
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • HEROWANG
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-09 11:30:202楼 得分:0
    如果可以的话,把A字段设置为bigint,可以考虑把数据中的A去掉,因为整形数据的查询速度要比字符的查询速度块。
    需要A的话,可以在查询中进行一定的处理就行了
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • ThreeColor
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-09 11:31:343楼 得分:0
    n行A只是作为表tbl某一行的一个数据阿
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • ThreeColor
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-09 11:36:254楼 得分:0
    A000000002 只是一例子,实际上经常是如下格式的
    5GOI33EED8
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • HEROWANG
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-09 11:39:565楼 得分:0
    你测试下你建立索引后,进行查询后花费多长时间。

    以前做过一个100万数据的,花费时间也就1-2秒
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • ThreeColor
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-09 11:42:366楼 得分:0
    可能我表述有问题,
    我要建立的表tbl的数据格式如下
    第1行
    A000000001  B01  ...
    A000000002  B02 
    A000000003
    A000000004

    第2行
    A000000001  B01  ...
    A000000002   
    A000000004

    第3行
    A000000001  B01  ...
    A000000002  B02 
    A000000003  B03
    A00sdfsdf4
    5GOI33EED8

    ...
    修改 删除 举报 引用 回复

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