数据库优化思路
2016-05-04 00:29
357 查看
最近在学习后端,弄到数据库这一块,一直听到数据库优化,下午在公司老师提了下,现在记录下,大体的方法。
首先: 最根本的是优化MYSQL的 一些配置参数,因为MYSQL原生只支持,数十个并发访问。要是数量级是万级百万级的并发访问,要进行MYSQL的配置优化。
然后: 开一个新的项目的时候,对需求分析建模的时候数据的设计,要设计的尽量最优。表与表之间的关系,多表连接查询,
建立更好的索引(索引遵循前缀)
最后就是 程序员级别的优化, 对 我们写的SQL语句进行优化,使用explain 关键字。可以看到语句的效率情况。
基本我目前大体上了解到这些东西。 以后了解了更多的再进行补充。
还有 其他的一些问题。
我们访问网站的时候是可以看到 图片,音频,视频, 怎么在数据库存储呢?
直接把文件存到数据库,通过转换成二进制存储,但是这样的话,会很耗费数据的资源和速度变慢,再这个追求更好的用户体验的时代,这样做用户是无法容忍的。
另一种方法是 把文件的地址url 作为字段存储在数据库,然后再通过编程语言进行访问获得。
这里给一片文章的地址,关于 存储。
文章名: 三种东西永远不要放到数据库里。
http://developer.51cto.com/art/201211/364472.htm
然后还有一个小知识点 如何实现下载文件。
下面给出代码: java
首先: 最根本的是优化MYSQL的 一些配置参数,因为MYSQL原生只支持,数十个并发访问。要是数量级是万级百万级的并发访问,要进行MYSQL的配置优化。
然后: 开一个新的项目的时候,对需求分析建模的时候数据的设计,要设计的尽量最优。表与表之间的关系,多表连接查询,
建立更好的索引(索引遵循前缀)
最后就是 程序员级别的优化, 对 我们写的SQL语句进行优化,使用explain 关键字。可以看到语句的效率情况。
基本我目前大体上了解到这些东西。 以后了解了更多的再进行补充。
还有 其他的一些问题。
我们访问网站的时候是可以看到 图片,音频,视频, 怎么在数据库存储呢?
直接把文件存到数据库,通过转换成二进制存储,但是这样的话,会很耗费数据的资源和速度变慢,再这个追求更好的用户体验的时代,这样做用户是无法容忍的。
另一种方法是 把文件的地址url 作为字段存储在数据库,然后再通过编程语言进行访问获得。
这里给一片文章的地址,关于 存储。
文章名: 三种东西永远不要放到数据库里。
http://developer.51cto.com/art/201211/364472.htm
然后还有一个小知识点 如何实现下载文件。
下面给出代码: java
request.setCharacterEncoding("utf-8"); //设置字符集,防止乱码 String one=request.getParameter("one");//这个是选择下载那个文件 if("1".equals(one)){ response.setHeader("Content-Disposition", "attachment;filename=123.txt");//下载文件 在响应头里面给出信息 filename 是提供给用户的下载文件名称 String path=this.getServletContext().getRealPath("/123.txt"); //文件存储真是路径 FileInputStream fis=new FileInputStream(path);//读取字节流 byte[] buff=new byte[1024]; //缓冲 int len=0; OutputStream os=response.getOutputStream(); //输出流 while((len=fis.read(buff))>0) //判断文件是否传输完毕 { os.write(buff,0,len); //写 } os.close(); //关闭 fis.close();//关闭 }
相关文章推荐
- MySQL数据库优化学习笔记
- JSP、servlet、SQL三者之间的数据传递
- 数据库拆分的几种方式
- MySQL 存储过程
- Eclipse连接SQL Server 2008与连接SQL Server 2000代码的不同及连接2008过程中遇到的问题
- MySQL_Database_Show_Create_Drop
- MySQL_Table_Create_Describe_Alter_Drop
- MySQL_Character_Setting
- MySQL_Aggregate_Functions
- oracle细节(一)
- 关系数据库常用SQL语句语法大全
- Oracle_Database_11g_标准版_企业版__下载地址_详细列表
- django1.10+mysql/connector 2.1.3运行polls demo的问题
- redis入门笔记(1)
- ubuntu用ppa安装mysql并配置远程连接
- 从数据库select查询出来的数组
- Oracle JDK的GC日志分析
- MongoDB增删查改
- mysql5.6.29添加慢查询sql日志
- SQL异常提示某字段没找到的原因之一