系统环境:RHEL6.5MySQL5.5.58我们知道ACID是衡量一个事物处理系统的标准,下面就ACID做简要说明,重点讨论I(isolation,隔离性)并举例说明原子性(Atomicity):一个事务必须被视为一个不可分割的最小工作单元,整个事务中的所有操作要么全部提交成功,要么全部失败回滚,对于一个事务来说,不可能只执行其中的一部分操作,这就是事务的原子性一致性(Consistency):
转载 2023-07-07 23:56:10
47阅读
Effective C++ 视C++ 为一个语言联邦(C、Object-Oriented C++、Template C++、STL) 宁可以编译器替换预处理器(尽量以const
原创 2022-05-29 00:02:46
230阅读
开篇相信大家都用过事务以及了解他的特点,如原子性(Atomicity),一致性(Consistency),隔离型(Isolation)以及持久性(Durability)等。今天想跟大家一起研究下事务内部到底是怎么实现的,在讲解前我想先抛出个问题:事务想要做到什么效果?按我理解,无非是要做到可靠性以及并发处理可靠性:数据库要保证当insert或update操作时抛异常或者数据库crash的时候需要保
一般刚开始学SQL语句的时候,会这样写 SELECT * FROM table ORDER BY id LIMIT 1000, 10; 但在数据达到百万级的时候,这样写会慢死 代码如下: SELECT * FROM table ORDER BY id LIMIT 1000000, 10; 也许耗费几十秒 网上很多优化的方法是这样的 代码如下: SELECT * F
转载 2023-08-20 23:01:37
43阅读
编写高效简洁的C语言 代码 ,是许多软件工程师追求的目标。本文就 工作 中的一些体会和经验做相关的阐述,不对的地方请各位指教。 第1招:以 空间 换 时间   计算机程序中最大的矛盾是空间和时间的矛盾,那么,从这个角度出发逆向思维来考虑程序的效率问题,我们就有了解决问题的第1招--以空间换时间。 例如:字符串的赋值。 方法A,
转载 2023-01-27 08:25:39
85阅读
引言 Martin Fowler的《重构:改善既有代码的设计》一书从2003年问世至今已有十几年时间了,按照计算机领域日新月异的变化速度,重构已经算是一门陈旧的技术了。但是陈旧并不代表不重要,恰恰随着演进式设计被越来越广泛的使用,重构技术已经被认为是现代软件开发中的一项必备的基本技能!所以今天在任何
转载 2016-09-27 11:43:00
325阅读
2评论
//把数据表的内容导出到Excel文件中  public static void OutDataToExcel(System.Data.DataTable srcDataTable, string excelFilePath)  {     &nbs
转载 2017-06-09 21:50:34
9769阅读
双缓冲技术双缓冲是将图片在显示到DC前,现在要内存建一个DC,也就是用于存储这张图片的内存区,然后在将这部分update到你要显示的地方这样,可以防止画面抖动很大这样和你说吧,如果要实现你要的效果,你必须用指针访问内存比如,把程序声明成unsafe的,然后按照上面的操作进行 this.clear(this.BackColor)不行的 invalidate(),闪的厉害 所以不行&nbsp
转载 9月前
125阅读
目录一、数据背景二、key-len列的计算规则三、SQL执行测试1)sql执行 a,b,c字段都存在2)sql执行 a,b,c部分索引字段为查询条件3)针对条件,优化索引四、总结 mysql 之前有讲述过关于索引的分类以及应用mysql索引应用本篇则主要是针对联合索引abc来进行实践操作说明。 大家想找employees数据包可以查看如上链接博客。一、数据背景创建一个联合索引abc 索引的typ
mysql联合索引,abc的争议实践 原因:在一次和同事讨论mysql联合索引的面试题时出现了争议。主要问题是:a、b、c三个字段作为联合索引,b、c;和a、c情况到底会不会命中索引?网上查阅相关博客发现很多答案不一样,于是我干脆亲手操作实验一下 ,我使用的mysql版本是5.6一:创建表为了更直接贴合面试题,字段直接用AA,BB,CC表示create table IF NOT EXISTS T
一. 大规模导入数据1. 使用load命令导入数据LOAD DATA LOCAL INFILE 'F:\sql1.log' INTO TABLE tb_user_1 fields TERMINATED by ',' lines TERMINATED by '\n';数据格式: 导入结果:  2. 对于InnoDB类型的表,提升导入效率(1)数据按主键顺序插入,上面的s
转载 2020-08-10 18:56:00
75阅读
一 、mysql执行流程 1.查詢緩存(8.0抛弃了这个功能),需要开启 2.如果在缓存中查询到, 返回结果,否则到下一步 解析器,解析sql语法是否正确(类似java的编译器)3.查询优化器:如果建立多个索引,优化器会找效率最高的索引来执行4.执行引擎二、存储引擎InnoDB、MyISAM 两大存储引擎,还有其他的不一一列举1.InnoDB:支持事务,删除更新就选择InnoD
转载 2023-06-21 22:52:16
145阅读
mysql设计标准 事务处理标准 索引使用标准 约束设计 sql语句标准怎么写出高效SQL 清晰无误的了知业务需求 满足业务需求,不做无用功 知道表数据量和索引基本情况 知道完成SQL需要扫描的数据量级 SQL执行计划OK?SQL性能达到要求? 调整索引和SQL,优化SQLIN子查询容易导致问题,禁止使用,需改成join 选择正确的驱动表:关键的第一步 错误使用Left Join left joi
索引     索引的使用     索引优化索引的优点索引可以让服务器快速定位到表的指定位置。最常见的B-Tree索引,按照顺序存储数据,所以MySQL可以用来做ORDER BY 和 GROUP BY操作。总结下来,索引有如下三个优点: a)  &nb
      C函数库中有一个函数 strstr(char*, char*),它实现的是在一个原字符串中查找一个子串,如果找到这样的一个子串,返回这个子串在原字符串中的起始位置,若没有找到这样的一个子串,则返回NULL。      但是,函数库中实现的仅是一般情况下的查找,即没有做太多优化,在执行一些特殊的字符串时效率很低,所以,在很多面试
原创 2023-05-11 21:30:43
53阅读
顶嵌|嵌入式培训|嵌入式Linux培训|承接嵌入式项目开发   2009-03-17 12:21:10 作者:One 来源:顶嵌特约记者 文字大小:[大][中][小] 编写高效简洁的C语言代码,是许多软件工程师追求的目标。本文就工作中的一些体会和经验做相关的阐述,不对的地方请各位指教。 第 1 招:以空间换时间 计算机程序中最大的矛盾是空间和时间的矛盾,那么从这个角度出
转载 2009-04-07 19:07:00
326阅读
1. 容器中对象拷贝高效、防剥离发生的方法:         使容器包含指针而不是对象。( ps:STL容器是在创建拷贝,相比数组,是动态创建,节省时间和空间) 2. 总是调用empty()而不是size==0来判断容器是否为空:         empty()对所有STL容器都是常数时间操作,而size()对某些容器(如list)是线性时间操作,size()更耗时。 3. vector、li
转载 2021-05-29 11:54:00
207阅读
2评论
编写高效简洁的C语言代码,是许多软件工程师追求的目标。本文就工作中的一些体会和经验做相关的阐述,不对的地方请各位指教。 第 1 招:以空间换时间 计算机程序中最大的矛盾是空间和时间的矛盾,那么从这个角度出发逆向思维来考虑程序的效率问题,我们就有了解决问题的第1招--以空间换时间。 例如:字符串的赋值。 方法 A,通常的办法: #define LEN 32 char string1 [LE...
原创 2021-08-23 11:00:41
128阅读
            虽然对于优化C代码有很多有效的指导方针,但是对于彻底地了解编译器和你工作的机器依然无法取代,通常,加快程序的速度也会加大代码量。这些增加的代码也会影响一个程序的复杂度和可读性,这是不可接受的,比如你在一些小型的设备上编程,例如:移动设备、PDA……,这些有着严格的内存限制,于是,在优化的座右铭是:写代码在内存和速度都应该优化。     在标准的处理器中,根据分子和分母的不
转载 2021-07-12 11:40:49
162阅读
1. zlog简介zlog的资料网上很多,这里不在详细说明;zlog是用c写的一个日志工具,非常小,而且高效,可以同时向控制台和文件中输出,日志接口与printf使用基本一样,所以使用起来很简单。感觉唯一的缺点是配置稍微复杂点,不能动态修改输出级别;2.使用介绍2.1 zlog编译zlog的很好编译,如果你是在x86平台上,就不用修改makefile,进入src目录下直接make就可以了; 如果是
原创 2021-12-07 16:09:30
2035阅读
  • 1
  • 2
  • 3
  • 4
  • 5