JS删除数组中重复元素的函数

PHP中array_walk()、array_map()、array_filter()的用法和区别

array_map()
1.为一个(或多个)数组的每个(或每组)元素分别应用回调函数,返回数组的每个元素是回调函数的返回值。
2.map有映射之意,可以理解为由多个单一(或成组)的元素构成的集合到另外一个由单一元素构成的集合的映射,对应关系便是回调函数。
3.由于可以指定多个数组,所以call[......]

继续阅读

2.1 为什么需要基准测试——《高性能MySQL》阅读笔记

基准测试是针对系统设计的一种压力测试。通常的目标是为了掌握系统的行为。

为什么要基准测试?因为基准测试是唯一方便有效的、可以学习系统在给定的工作负载下会发生什么的方法。

基准测试可以完成以下工作,或者更多:

  • 验证基于系统的一些假设。
  • 重现系统中的某些异常行为。
  • 模拟[......]

继续阅读

1.5 MySQL的存储引擎——《高性能MySQL》阅读笔记

在文件系统中,MySQL将每个数据库保存为数据目录下的一个子目录。创建表时,MySQL会在数据库子目录下创建一个和表同名的.frm文件保存表的定义。因此,大小写敏感性和具体的平台密切相关。

不同的存储引擎保存数据和索引的方式是不同的,但表的定义则是在MySQL服务层统一处理的

可以使用[......]

继续阅读

1.4 多版本并发控制——《高性能MySQL》阅读笔记

可以认为MVCC是行级锁的一个变种,但是它在很多情况下避免了加锁操作,因此开销更低。

MVCC是通过保存数据在某个时间点的快照来实现的。不管需要执行多长时间,每个事务看到的数据都是一致的。这还意味着,不同的事务在同一时刻在同一表中看到的数据可能是不同的。

InnoDB的MVCC,是通过在[......]

继续阅读

sysbench的简介及安装

sysbench简介

sysbench是一款多线程系统压测工具。它可以根据影响数据库性能的各种因素来评估系统的性能。例如,可以用来测试文件I/O、操作系统调度器、内存分配和传输速度、POSIX线程,以及数据库服务器等。支持MySQL、操作系统和硬件的硬件测试。

sysbench安装

项目地址:[......]

继续阅读

1.3 事务——《高性能MySQL》阅读笔记

事务就是一组原子性的SQL查询,或者说是一个独立的工作单元。

一个运行良好的事务处理系统,必须具备ACID标准特征。

原子性(atomicity)

一个事务必须被视为一个不可分割的最小工作单元。整个事务中的所有操作要么全部提交成功,要么全部失败回滚,对于一个事务来说,不能只执行其中的一部分[......]

继续阅读

1.2 MySQL的并发控制——《高性能MySQL》阅读笔记

只要有多个查询在同一时刻修改数据,都会产生并发控制问题。

读锁和写锁

在处理并发读或者写时,可以通过实现一个由两种类型的锁组成的锁系统来解决问题。这两种类型的锁通常称为共享锁和排他锁,也叫读锁和写锁。

读锁是相互不阻塞的。写锁会阻塞其他的读锁和写锁。

锁粒度

一种提高共享资源并发性的方[......]

继续阅读

1.1 MySQL的逻辑架构——《高性能MySQL》阅读笔记

MySQL存储引擎架构将查询处理以及其他系统任务和数据的存储/提取相分离,可以在使用的时候根据性能、特性,以及其他需求来选择数据的存储方式。

mysql%e6%9c%8d%e5%8a%a1%e5%99%a8%e9%80%bb%e8%be%91%e6%9e%b6%e6%9e%84%e5%9b%be

最上层。连接处理、授权认证、安全等等。

第二层。包括查询解析、分析、优化、缓存以及所有的内置函数,所有跨存储引擎的功能都在这一层实现:存储[......]

继续阅读