- 博客(5)
- 收藏
- 关注
原创 MySQL的事务、MVCC相关实现
MVCC(Multi Version Concurrency Control的简称),代表多版本并发控制。与MVCC相对的,是基于锁的并发控制,Lock-Based Concurrency Control)。MVCC最大的优势:读不加锁,读写不冲突。在读多写少应用中,读写不冲突是非常重要的,极大的增加了系统的并发性能。
2023-04-26 11:16:41
86
原创 使用gperftools/pprof分析mysql性能瓶颈
这个ProfilerStart()和ProfilerStop(),不是用来指定代码片段物理开始结束位置,而是逻辑开始、结束位置,所以ProfilerStop最好放在mysql退出过程调用的函数中,ProfilerStart()最好放在mysql启动过程调用的函数中。对于c/c++服务端应用,可以在代码中通过gettimeofday()函数插桩,计算各个桩之间的耗时,将耗时通过日志输出到文件,然后统计各个桩之间的耗时,分析应用程序性能瓶颈。测试过程中生成的数据会保存到指定的data目录下。
2023-04-10 17:56:06
251
原创 C++中的const:const引用、const指针、constexpr和常量表达式
const限定符const对象的定义定义const对象时,必须进行初始化,否则可能报错,且无意义。const对象只在单个文件内有效const对象只在单个文件中有效,多个文件中的同名const对象互不影响;如果在一个文件中定义了某个const对象,想在另一个文件中使用。需在定义、使用该const对象的文件中,都用extern进行声明。const和引用不能试图修改一个const引用的值...
2020-01-20 01:21:16
131
原创 c++字符串相关的基础知识总结
c++字符串相关的基础知识总结C风格字符串c风格字符串实际上是使用 null 字符 ‘\0’ 终止的一维字符数组。下面的声明和初始化创建了一个 “Hello” 字符串。由于在数组的末尾存储了空字符,所以字符数组的大小比单词 “Hello” 的字符数多一个。char greeting[6] = {'H', 'e', 'l', 'l', 'o', '\0'};依据数组初始化规则,您可以把上...
2020-01-18 12:29:39
188
原创 【c++】 typedef类型自定义:定义指向数组的指针、指向指针的数组
【c++】 typedef类型自定义:定义指向数组的指针、指向指针的数组1.定义指向包含10个int变量的数组的指针类型2.定义包含10个int指针的数组类型1.定义指向包含10个int变量的数组的指针类型typedef int (* pints)[10];int main(){ int arr[10] = {1,2,3,4}; pints pis = &arr;...
2019-09-14 23:48:58
1464
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人