系统环境:RHEL6.5MySQL5.5.58我们知道ACID是衡量一个事物处理系统的标准,下面就ACID做简要说明,重点讨论I(isolation,隔离性)并举例说明原子性(Atomicity):一个事务必须被视为一个不可分割的最小工作单元,整个事务中的所有操作要么全部提交成功,要么全部失败回滚,对于一个事务来说,不可能只执行其中的一部分操作,这就是事务的原子性一致性(Consistency):
转载 2023-07-07 23:56:10
66阅读
开篇相信大家都用过事务以及了解他的特点,如原子性(Atomicity),一致性(Consistency),隔离型(Isolation)以及持久性(Durability)等。今天想跟大家一起研究下事务内部到底是怎么实现的,在讲解前我想先抛出个问题:事务想要做到什么效果?按我理解,无非是要做到可靠性以及并发处理可靠性:数据库要保证当insert或update操作时抛异常或者数据库crash的时候需要保
Effective C++ 视C++ 为一个语言联邦(C、Object-Oriented C++、Template C++、STL) 宁可以编译器替换预处理器(尽量以const
原创 2022-05-29 00:02:46
257阅读
一般刚开始学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
58阅读
编写高效简洁的C语言 代码 ,是许多软件工程师追求的目标。本文就 工作 中的一些体会和经验做相关的阐述,不对的地方请各位指教。 第1招:以 空间 换 时间   计算机程序中最大的矛盾是空间和时间的矛盾,那么,从这个角度出发逆向思维来考虑程序的效率问题,我们就有了解决问题的第1招--以空间换时间。 例如:字符串的赋值。 方法A,
转载 2023-01-27 08:25:39
126阅读
//把数据表的内容导出到Excel文件中  public static void OutDataToExcel(System.Data.DataTable srcDataTable, string excelFilePath)  {     &nbs
转载 2017-06-09 21:50:34
9834阅读
双缓冲技术双缓冲是将图片在显示到DC前,现在要内存建一个DC,也就是用于存储这张图片的内存区,然后在将这部分update到你要显示的地方这样,可以防止画面抖动很大这样和你说吧,如果要实现你要的效果,你必须用指针访问内存比如,把程序声明成unsafe的,然后按照上面的操作进行 this.clear(this.BackColor)不行的 invalidate(),闪的厉害 所以不行&nbsp
转载 2023-11-29 12:22:56
259阅读
引言 Martin Fowler的《重构:改善既有代码的设计》一书从2003年问世至今已有十几年时间了,按照计算机领域日新月异的变化速度,重构已经算是一门陈旧的技术了。但是陈旧并不代表不重要,恰恰随着演进式设计被越来越广泛的使用,重构技术已经被认为是现代软件开发中的一项必备的基本技能!所以今天在任何
转载 2016-09-27 11:43:00
347阅读
2评论
目录一、数据背景二、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
转载 2023-12-15 10:55:23
242阅读
一. 大规模导入数据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
89阅读
一 、mysql执行流程 1.查詢緩存(8.0抛弃了这个功能),需要开启 2.如果在缓存中查询到, 返回结果,否则到下一步 解析器,解析sql语法是否正确(类似java的编译器)3.查询优化器:如果建立多个索引,优化器会找效率最高的索引来执行4.执行引擎二、存储引擎InnoDB、MyISAM 两大存储引擎,还有其他的不一一列举1.InnoDB:支持事务,删除更新就选择InnoD
转载 2023-06-21 22:52:16
184阅读
索引     索引的使用     索引优化索引的优点索引可以让服务器快速定位到表的指定位置。最常见的B-Tree索引,按照顺序存储数据,所以MySQL可以用来做ORDER BY 和 GROUP BY操作。总结下来,索引有如下三个优点: a)  &nb
转载 2023-10-19 11:42:18
25阅读
mysql设计标准 事务处理标准 索引使用标准 约束设计 sql语句标准怎么写出高效SQL 清晰无误的了知业务需求 满足业务需求,不做无用功 知道表数据量和索引基本情况 知道完成SQL需要扫描的数据量级 SQL执行计划OK?SQL性能达到要求? 调整索引和SQL,优化SQLIN子查询容易导致问题,禁止使用,需改成join 选择正确的驱动表:关键的第一步 错误使用Left Join left joi
转载 2024-07-22 08:59:24
31阅读
编写高效简洁的C语言代码,是许多软件工程师追求的目标。本文就工作中的一些体会和经验做相关的阐述,不对的地方请各位指教。 第 1 招:以空间换时间 计算机程序中最大的矛盾是空间和时间的矛盾,那么从这个角度出发逆向思维来考虑程序的效率问题,我们就有了解决问题的第1招--以空间换时间。 例如:字符串的赋值。 方法 A,通常的办法: #define LEN 32 char string1 [LE...
原创 2021-08-23 11:00:41
140阅读
转载至:http://www.sphinxsearch.org/archives/17 PERCONA PERFORMANCE CONFERENCE 2009上,来自雅虎的几位工程师带来了一篇”Efficient Pagination Using MySQL“的报告,有很多亮点,本文是在原文基础上的进一步延伸。 首先看一下分页的基本原理: mysql> ex
转载 精选 2013-01-04 11:20:50
403阅读
# 使用 MySQL 的 IN 替代高效查询 在数据库操作中,我们经常需要根据某些条件查询数据,以便为后续的数据处理、分析和展示提供支持。MySQL 提供了多种查询语法,其中 `IN` 关键字在某些情况下会显著提高查询效率。本文将深入探讨如何使用 `IN` 来优化查询,并辅以相关的代码示例、类图及旅行图,帮助你更好地理解这一概念。 ## 什么是 `IN` 在 SQL 中,`IN` 关键字用于
原创 10月前
27阅读
# 实现 MySQL 高效模糊查询教程 ## 概述 在实际开发中,经常会遇到需要进行模糊查询的情况,而 MySQL 中的模糊查询是一种常见的操作,但如果不正确使用会导致性能问题。本教程将指导你如何实现高效MySQL 模糊查询,以提高查询效率。 ## 教程步骤 下面是实现高效模糊查询的流程,你可以按照以下步骤逐步操作: ```mermaid pie "准备工作": 25 "编写
原创 2024-04-12 07:19:09
69阅读
# MySQL高效模糊查询实现方法 ## 简介 MySQL是一种常用的关系型数据库管理系统,它提供了强大的查询功能。在实际的开发过程中,我们经常需要进行模糊查询,以便根据不完整的信息查找相关的记录。本文将介绍如何使用MySQL实现高效的模糊查询。 ## 流程图 ```mermaid flowchart TD A(开始) B(连接数据库) C(执行SQL语句) D(获取查询结果) E(处理结果
原创 2024-02-03 09:05:53
36阅读
# MySQL高效查询的实现步骤 ## 1. 数据库连接 首先,我们需要确保与MySQL数据库建立连接。在使用MySQL之前,我们需要安装MySQL数据库,并在代码中引入相应的库文件。 ```python import mysql.connector # 建立数据库连接 cnx = mysql.connector.connect( host="localhost", # 数据库
原创 2024-02-05 07:46:12
12阅读
  • 1
  • 2
  • 3
  • 4
  • 5