[内容] 正则表达式介绍

内容一:基础正则表达式 (BRE)

1.1 简介

Linux 基础的正则表达式

1.2 特点

?、*、(、)、{、} 等元字符前面必须添加转义符号 \ (斜杠)才能起作用,否则将被视为普通的字符

1.3 使用案例

1) 通过 grep 命令使用
2) 通过 sed 命令使用

内容二:扩展正则表达式 (ERE)

2.1 简介

在 Linux 基础正则表达式 (BRE) 上有所扩展

2.2 特点

?、*、(、)、{、} 等元字符前面不用添加转义符号 \ (斜杠)就能起作用

2.3 使用案例

1) 通过 egrep 命令使用
2) 通过 grep 命令加 -E 参数 (grep -E) 使用
3) 通过 sed 命令加 -E 参数(sed -E)
4) 通过 sed 命令加 -r 参数 (sed -r) 使用

内容三:Perl 兼容正则表达式 (PCRE)

3.1 简介

在 Linux 扩展正则表达式 (ERE) 上又有所扩展,并加入了 Perl 语言的一些特性

3.2 特点

支持 lookahead 断言、lookbehind 断言、递归模式、命名捕获组等高级功能

3.3 使用案例

通过 grep 命令加 -P 参数 (grep -P) 使用

[内容] Shell 脚本中 declare、typeset、local 的作用 (设置变量)

内容一:declare、typeset 和 local 的作用

1) declare、typeset 和 local 的作用都是声明脚本中的变量
2) local 只能用在函数内部
3) declare、typeset 和 local 的选项一样

内容二:declare、typeset 和 local 的使用格式

declare <OPTION> <NAME1>=<VALUE1> <NAME2>=<VALUE2> ......

内容三:declare、typeset 和 local 的常用选项

1) -g 指定要声明的变量为全局变量而不是局部变量
2) -I 给变量赋值时将值转化为小写
3) -u 给变量赋值时将值转化为大写

[内容] MariaDB & MySQL 性能的优化

思路一:减少总连接数

1.1 显示数据库目前的连接数

> SHOW STATUS LIKE 'Threads_connected';

1.2 查看数据库目前所允许的最大连接数

> SHOW VARIABLES LIKE 'max_connections';

1.3 临时设置数据库目前所允许的最大连接数

> SET GLOBAL max_connections = 200;

(补充:这里以临时将数据库目前所允许的最大连接数设置为 200 为例)

思路二:优化 SQL 语句

2.1 查询执行的 SQL 语句

2.1.1 通过 SQL 语句查询正在运行的 SQL 语句
> SHOW PROCESSLIST;
2.1.2 通过 SQL 语句查询正在运行的 SQL 语句的详细信息
> SELECT * FROM performance_schema.threads;

(注意:当数据库越来越大是,全库查询的 SQL 语句执行起来会越来越慢,耗时也会越来越长。应用最终会被 SQL 语句查询的长时间拖死)

2.1.3 查询 SLOW 日志

(步骤略)

2.2 优化 SQL 语句

(步骤略)

思路三:增加硬件性能

(步骤略)