当前位置: 首页 > news >正文

阿里云网站正规网站优化推广

阿里云网站,正规网站优化推广,苹果cms免费模板,微信营销定位文章目录 access 数据库的一个优化实例一.起因二.优化三.启示 access 数据库的一个优化实例 一.起因 由于access数据库安装容易,操作方便,深受数据量不大的用户欢迎.但数据操作方面,微软为了安全起见,对SQL语法进行了大量简化和修改.主要修改有以下几个方面: 1.一些复杂的标准…

文章目录

  • access 数据库的一个优化实例
    • 一.起因
    • 二.优化
    • 三.启示

access 数据库的一个优化实例

一.起因

由于access数据库安装容易,操作方便,深受数据量不大的用户欢迎.但数据操作方面,微软为了安全起见,对SQL语法进行了大量简化和修改.主要修改有以下几个方面:
1.一些复杂的标准SQL语法编写的数据操纵语句不能执行.
2.每次查询仅中能执行一个语句.
以上限制对大量插入数据的用户来说,执行效率大幅下降.最近开发的一个软件 ,以插入860行数据为例,如果一次插入一行数据,(当然还有准备数据时间),大约需要65秒.部分程序如下:

 protected void Button2_Click(object sender, EventArgs e){DataView dv;DataRowView drv;string projectID;       this.Label3.Text = "错误!请检查订单类别、商品类别、差异率等!";string s = Session["xmkS0"].ToString();this.SDSxmk.SelectCommand = s;dv =(DataView) this.SDSxmk.Select(DataSourceSelectArguments.Empty);if (dv != null){for (int i = 0; i < dv.Count; i++){if (sele(i)){drv = dv[i];projectID = drv["xmdm"].ToString();if (book(drv)){int n = i>>4;int k = (int)Session["P" + n.ToString()];k = k & (65535 ^ (1 << (i - n * 16)));Session["P" + n.ToString()] = k;updatexmkBookflag(projectID, true);}}}}        //this.Label3.Text = "";}private void updatexmkBookflag(string projectID, bool b){string s0, s1, s2;s0 = SDSxmk.UpdateCommand;s1 = "update xmk set bookFlag={0} where xmdm='{1}'";s1 = string.Format(s1,b.ToString(), projectID);SDSxmk.UpdateCommand = s1;SDSxmk.Update();SDSxmk.UpdateCommand = s0;}

二.优化

1.由于一次只能执行一个查询语句,所以我就想起用事务来一次执行多个语句,试着进行优化,效果出人意料.
代码片段:

 protected void Button2_Click(object sender, EventArgs e)//生成凭证  {DataView dv;DataRowView drv;string projectID;this.Label3.Text = "错误!请检查订单类别、商品类别、差异率等!";string s1 = "update xmk set bookFlag={0} where xmdm='{1}'";string s = Session["xmkS0"].ToString();string s0 = SDSxmk.UpdateCommand;this.SDSxmk.SelectCommand = s;dv = (DataView)this.SDSxmk.Select(DataSourceSelectArguments.Empty);if (dv != null){OleDbConnection conn = new OleDbConnection(System.Configuration.ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);OleDbCommand command = conn.CreateCommand();conn.Open();command.Transaction = conn.BeginTransaction();try{for (int i = 0; i < dv.Count; i++){if (sele(i)){drv = dv[i];projectID = drv["xmdm"].ToString();if (book(drv)){int n = i >> 4;int k = (int)Session["P" + n.ToString()];k = k & (65535 ^ (1 << (i - n * 16)));Session["P" + n.ToString()] = k;command.CommandText = string.Format(s1, true, projectID);command.ExecuteNonQuery();}}}command.Transaction.Commit();}catch (Exception ex){command.Transaction.Rollback();}conn.Close();}this.SDSxmk.SelectCommand = Session["xmkS0"].ToString(); ;this.GridView2.SetPageIndex(35);this.Label3.Text = "";}

三.启示

1.select 语句是执行效率极高的.凡是能在select 语句完成的查询,就不要用数据集,数据源等进行操作,能用复合select语句的,就使用复合语句.
2.能使用存储教程操作的,就用存储过程(在SQLserver中特别高效).
3.能使用多条插入的查询,就使用如(insert into xxx select ***);别在编程中,用数据集来操纵.效率下降10倍以上.
4.不能使用多条语句的情况下.就使用事务.效率一样很高.
5.两个表更新,使用update xxx inner left xxx on xxx=xxx set xxx=xxx,更高效.
6.总之,能使用一次连接,完成数据库增删改查的,就一次完成,最高效.对数据的不管多复杂的操作,直接用sql 语句完成就对了,千万别想着自己编程,再使用sql语句来更新,效率下降十倍以上.

http://www.khdw.cn/news/41393.html

相关文章:

  • 网上做网站怎么赚钱做seo需要哪些知识
  • 怎么查网站的注册信息seo综合查询怎么用
  • wordpress 自动tagseo外包资讯
  • 郑州做网站那家做的好整站seo外包
  • 网站英文域名网站注册流程和费用
  • 状态管理名词解释网站开发网络推广外包公司哪家好
  • 亚泰国际建设股份有限公司网站网络营销课程培训
  • 番禺网站建设公司网站设计与制作教程
  • 网站建设需要使用哪些设备app优化建议
  • 六安做网站多少钱网站标题优化排名
  • 嘉兴seo网站排名最近几天的重大新闻事件
  • 珠海网站策划站长之家域名查询鹿少女
  • 宜宾汽车网站建设域名解析在线查询
  • 百度seo公司哪家好一点福州seo管理
  • 禹城网站建设搜索引擎优化搜索优化
  • 心理测试网站开发报价湖南长沙疫情最新消息
  • 设计非常好的网站家居seo整站优化方案
  • 曲靖做网站需要多少钱百度seo推广计划类型包括
  • 花生壳做网站是否稳定怎么投稿各大媒体网站
  • 商城网站怎么做推广天津百度推广代理商
  • 如何给网站做地图网络销售面试问题有哪些
  • 北京到广州防疫政策张北网站seo
  • 去哪里学习做网站百度如何优化
  • 做的比较好的b2b网站临沂色度广告有限公司
  • 网站服务器 同步备份google搜索关键词
  • 网站租用空间价格企业品牌推广策划方案
  • 国家建设局网站首页seo网络营销技巧
  • 发布培训的免费网站模板下载注册安全工程师
  • 网站备案是域名备案还是服务器备案西安seo诊断
  • 门户网站模板软文写作方法