VB与SQLserver 问题,急,

来源:百度知道 编辑:UC知道 时间:2024/05/24 02:13:38
select result.二轴制动和值,result.三轴制动和值,resultpj.一轴制动差评价,changeinfo.车辆类型,resultpj.二轴制动差评价,resultpj.三轴制动差评价,resultpj.四轴制动差评价,resultpj.五轴制动差评价,resultpj.侧滑评价,resultpj.手制动和评价,resultpj.左主远光左右偏差评价,resultpj.左主远光上下偏差评价,resultpj.左主远光强度评价,resultpj.整车制动和评价,resultpj.一轴制动和评价,resultpj.右主远光左右偏差评价,resultpj.右主远光上下偏差评价,resultpj.右主远光强度评价,resultpj.一轴左拖滞比评价,resultpj.一轴右拖滞比评价,resultpj.二轴左拖滞比评价,resultpj.二轴右拖滞比评价,resultpj.五轴右拖滞比评价,resultpj.四轴右拖滞比评价,resultpj.三轴右拖滞比评价,resultpj.三轴左拖滞比评价,resultpj.四轴左拖滞比评价,resultpj.五轴左拖滞比评价,changeinfo.车牌号码,changeinfo.检测编号,baseinfo.载质客量 From resultpj, result,changeinfo, baseinfo where resultpj.FID=changeinfo.FID and changeinfo.车牌号码= baseinfo.车牌号码 and resultpj.FID=result.FID and 检测编号='108524'
这个语句可以查询,但速度超慢,做到程序里后,ADO更是连接过期超时,请问这句应该怎么写能提快速度

看了你的查询语句,发现几个问题:
1、在条件中有resultpj.FID=changeinfo.FID 和resultpj.FID=result.FID ,但是在打开的字段中却没有FID的字段;
2、resultpj, result,changeinfo, baseinfo四个表联合查询,所有字段名均是中文,这样查询速度就比较慢;
3、不清楚你在查询中各表字段的顺序是否有规律?如果顺序不规律,也是速度下降的一个重要原因;
4、and 检测编号='108524' 中的“检测编号”是那个表的?

最好的办法是就四个表尽量合并,能否合并为一个到二个表,因为一个表的字段数可以到达七八十个是没有问题的,这样不仅查询速度快,而且也容易管理。

第一,为在Where中使用的那些字段建立索引;
第二,改用Join来联接表而不是使用Where来实现隐式关联;
第三,建立加入一些过滤条件以减小返回的结果集中记录数量。

呵呵,要从数据库中修改
把多于的表合成一起。不然就没办法提速