Mysql
三大方向:
1.硬件优化
2.配置优化
3.SQL语句优化
SQL优化:
1.对查询结果加入缓存
2.只要一行数据就用limit 1
3.为搜索字段建立索引
4.避免select *
5.为每张表设置一个id
其他优化:
1.减少外键
2.大数据进行分表、分库
索引:普通索引、唯一索引、主键索引和全文索引
数据库引擎的区别:
MyISAM:注重性能
InnoDB:注重事务
Mysql集群搭建思路:
nginx反向代理uwsgi,调用相应的django服务,每个django配置不同的mysql服务器。
数据同步:
可以在半夜进行定时任务,同步各个数据库
WSGI , uwsgi , uWSGI
- WSGI:
全称是 WebServerGatewayInterface, 它是 Python 官方定义的一种描述 HTTP 服务器 (如nginx)与 Web 应用程序 (如 Django、Flask) 通信的规范。全文定义在 PEP3333 - uwsgi:
与 WSGI 类似, 是 uWSGI 服务器自定义的通信协议, 用于定义传输信息的类型(type of information)。每一个 uwsgi packet 前 4byte 为传输信息类型的描述, 与 WSGI 协议是两种东西, 该协议性能远好于早期的 Fast-CGI 协议。 - uWSGI:
uWSGI 是一个全功能的 HTTP 服务器, 实现了WSGI协议、uwsgi 协议、http 协议等。它要做的就是把 HTTP协议转化成编程语言支持的网络协议。比如把 HTTP 协议转化成 WSGI 协议, 让 Python 可以直接使用。