改进的方向和方法(规则为 数据模块==>表现模块)(注:以快速提高网站速度和更明显的原则,很多改进方式没有写入,请自行研究)
1.数据库
建表:根据不同的需求创建表,日志类表使用堆表(没有主键的表)可以缓解插入压力。查询数据量大的必须要有主键
索引:通常为插入时间建立索引(根据业务调节去设施倒序还是正序),组合索引(俩个列经常在一个条件查询,要在一起建立索引),其他查询频繁用的列要建立索引
Tsql:少用in和or 因为这样会失去索引的作用,where 条件 要有顺序的写,把最能缩小查询范围的条件放到最前边 ,判断 是否存在某数据时 多用EXISTS
数据库任务:建立数据维护计划 定期去压缩、删除碎片、重新组织索引、删除数据库中已经失去存在价值的数据。
2.程序
获取数据:尽可能的建少打开数据次数,多个语句可以通过一次Tsql 打开数据库 去完成。
缓存:对于数据更新不频繁的数据,进行内存缓存,此缓存要有人为可控的功能
异步:对于要进行多次操作,要进行异步处理。分两种1 通知一个任务去做某件事,成功与否不重要使用单线程,不等待线程结果。2 要在多个地方去获取或者操作多个指令,但 要对返回结果进行处理,是用多线程异步等待。
页面缓存:对于更新不频繁的页面进行整页缓存或变参缓存
3.表现(UI)
HTML:建设css 和js 引用 (可采取合并的方法),css 尽量要都放到上方,减少网页重新排版的,js 要放到页面下方
压缩:要对已经发布的网站 进行css 和js 的压缩
图片:在保证图片在固定大小不失真的情况下,缩小图片大小(多数网站忽略此问题,应该重点解决)
异步:可以采取异步一部分数据的方法,缓解打开页面的时间
4.部署
1.网站和数据库要分离到两个服务器中(按业务需要)
2.网站使用Gzip压缩