Delphi + DB的查询优化设计思想
经典案例分享 暂不涉及分区表,表设计等 只从比较浅的角度来优化
1.先检查程序 检查模型层的设计与编码是否合理 将和这个表有有绑定的数据感知控件全部去掉。
2.估算一个数据的最大量 可以从设计角度 也可以从客户提供的数据分析 未来一定周期内的预增长量
3.将条码的长度保存起来,先用条码的长度进行过滤,如果80%以上的长度都是一个长度,则不用这个方法
4.将条码中的偶数个数保存在一个独立的数字字段中,先进行比较,应该先能排除一半
5.将条码的最后几位数据独立保存在一个数字字段中,先进行比较,数字比较速度应该比字段比较快
6.在根据业务看是否能用时间来划分,每天或每周,每月建立一张表
7.增加一int类型的主键。撤销条码的主键。
总的原则是将数据分类来查,不要每将都在一大堆中查找,就象在书店一样,可以按出版商,按书类型进行
书架分类,然后找书的时间才能快速定位。
/////////////////////////////////////////////////////////////////////////
经典一句SQL:
if not exists(select akey from a where akey='1234')
insert into a values(akey, b,c,d)
相关文档:
delphi TStringList 用法详解
//TStringList 常用方法与属性
:
var
List: TStringList;
i: Integer;
begin
List := TStringList.Create;
List.Add('Strings1'); {添加}
List.Add('Strings2');
List.Exch ......
数组是可以通过索引来引用的同类型数据的列表。按照存储空间的获取方式,Delphi
支持的数组类型有两种,即静态数组和动态数组。所谓静态数组就是在声明时就已经确定大小的数组类型,而动态数组是指其大小在声明时不能确定的数组,动态数组的大小在使用时确定。
声明静态数组的方式非常简单,只要指明数组长度和数据类型 ......
1、 放一下memo控件、一个button、opendialog
在button的click事件中
if opendialog1.Execute then
memo1.Lines.LoadfromFile(opendialog1.filename);
2、滥简单的事啊
var
Mytxt : TStringList;
begin
MyText :=
TStringList('你的文本文件及路径');
&nbs ......
之前做一个程序,用ListBox读入一个文本文件,但文本中有空行,为了删除其中的空行,折腾了好长时间。
先给出一段代码给大家看
var
i:Integer;
begin
ListBox1.Items.LoadfromFile('data.txt');
for i:=0 to ListBox1.Count - 1 do
begin
  ......
Delphi从6.0就开始支持Web Services的开发和应用了,本文通过使用Delphi 7.0调用新浪发送短信的Web Service进行短信应用程序开发这一实例详细的介绍在Delphi中如何开发基于Web Services的应用系统。
第一步,准备工作,了解新浪短信Web Service。新浪发送短信的Web Service地址是http://smsinter.sina.com.cn/ws/smswebs ......