CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C++ Builder >  数据库及相关技术

10万条记录,问个关于Access数据库的查询优化问题,请朋友们支招

楼主happyct(绿叶对大树的情怀)2004-12-03 14:58:44 在 C++ Builder / 数据库及相关技术 提问

帮朋友做一个小软件,需要用到数据库,考虑到成本,我选择了Access。  
   
  表结构:(共3个字段)  
  ID                   自增int主键  
  UserID           用户ID,30字节长度  
  Content         文本内容,50字节长度,用于存放Email地址  
   
  数据总记录大概10万条。  
   
  当我在客户端输入一个新的Email时,如何检测是否有重复的?要求效率高!  
   
  是先查询是否有该记录?还是直接输入,用异常来判定?我没用过Access,如果是后者,怎样捕捉?不会是程序中用try   catch吧?或是还有其它好的方法?  
   
  无论什么方法,要求效率高就好,代码麻烦不要紧,谢谢!! 问题点数:50、回复次数:13Top

1 楼happyct(绿叶对大树的情怀)回复于 2004-12-03 15:12:25 得分 0

补充   在Content上建立了唯一索引Top

2 楼ntahua(阿华)回复于 2004-12-03 15:14:55 得分 5

设一个主键,用异常能快一点。就用try   catch吧。Top

3 楼WbtServer(金刀客)回复于 2004-12-03 16:04:06 得分 5

10万条数据,可以自己写方法用SQL语句来查询判断,可能比较好点。Top

4 楼zlc990405(alfred)回复于 2004-12-03 18:38:24 得分 0

我接分Top

5 楼zjsyw(冰狗)回复于 2004-12-03 19:36:49 得分 5

十万条记录,作了索引,使用SQL很快的。这是正常途径Top

6 楼ttfwind(橙子)回复于 2004-12-03 22:30:53 得分 5

建立一个索引   在你添加的时候会自动提示你   纪录已经存在的  
   
  如果用异常的话  
  你就try{你的插入语句   throw(你自己定义的错误类型)}  
  catch(错误)  
  {处理方法}Top

7 楼samchoy(老蔡)回复于 2004-12-03 22:33:31 得分 5

关注Top

8 楼liuhszh()回复于 2004-12-04 18:25:14 得分 5

access是个桌面数据库,查询速度比SQL2k快多了,10万条记录加个索引就可以了Top

9 楼xiaomatian(趴趴熊◎%#……※×)回复于 2004-12-04 20:27:27 得分 5

关注Top

10 楼ZengMuAnSha(曾牧暗鲨)回复于 2004-12-04 21:42:20 得分 5

1   错误就在索引的字段上   不该使用Contenct字段   请查看数据库优化之书  
   
  改变:  
  ID                   自增int主键  
  UserID           用户ID,30字节长度  
  EmailTitl     标题  
  EmailTime     时间  
  EmailStyle   收/发  
  Content         文本内容,50字节长度,用于存放Email地址  
   
  分别在   ID,UserID,   Title,Time   建立索引   !!  
   
   
  Top

11 楼h98458(零点起飞)回复于 2004-12-04 22:16:38 得分 5

回复人:   ttfwind(橙子)   (   )   信誉:100     2004-12-03   22:30:00     得分:   0      
     
     
        建立一个索引   在你添加的时候会自动提示你   纪录已经存在的  
   
  如果用异常的话  
  你就try{你的插入语句   throw(你自己定义的错误类型)}  
  catch(错误)  
  {处理方法}  
  ---------------------------------------------------------  
  同意  
  一定要给字段加索引,速度会比没有加时快N倍~~Top

12 楼Maconel(Maconel)回复于 2004-12-05 00:41:13 得分 5

数据库我是不大懂,可以先做下测试,如果速度够就算了,如果不够,我是这么想的。  
  库可以多分几个表,比如分27个,开头字符为a~z,各占一个表,其余不是字母开头的,占一个表,根据开头字符不同,在不同的表里查询。如果记录更多,比如1百万,1千万,用这个方法,也可以解决。Top

13 楼happyct(绿叶对大树的情怀)回复于 2004-12-05 19:33:22 得分 0

谢谢各位的帮助,不在content上建立索引好像不太好办,大部分查询都是针对该字段进行的。  
  maconel的方法我以前用过,效果是比较好,但10万记录好像没有多大必要呵呵Top

相关问题

  • 数据库查询优化的问题
  • 关于数据库查询记录集
  • SQL SERVER数据库,在海量数据的时候(百万记录以上),优化查询有那些方法,请大师指点
  • 关于PB应用数据库查询优化的问题
  • 如何查询SQL Server数据库某表中没有记录?
  • 数据库记录查询都有几种方法?
  • 急求!!!!数据库查询记录时出去错!!!
  • 怎样查询数据库的一半记录?
  • 批量查询数据库用户表的记录数
  • 为什么我在bean里查询不到数据库记录?

关键词

  • 字段
  • 数据库
  • 查询
  • access
  • sql
  • 索引
  • 记录
  • 字节长度
  • 错误
  • 方法

得分解答快速导航

  • 帖主:happyct
  • ntahua
  • WbtServer
  • zjsyw
  • ttfwind
  • samchoy
  • liuhszh
  • xiaomatian
  • ZengMuAnSha
  • h98458
  • Maconel

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo