2306月 你真的知道怎么优化SQL吗 简介 虽然使用Explain不能够马上调优我们的SQL,它也不能给予我们一些调整建议,但是它能够让我们了解MySQL优化器是如何执行SQL语句的 通过Explain,我们可以分析出以下结果: 表的读取顺序 数据读取操作的操作类型 哪些索引可以使用 哪些索引被实际使用 表之间的引用 每张表有多少行被优化器查询 Exp...…
2306月 建立在Tablestore的Wifi设备监管系统架构实现 Wifi设备监管 公司通过监管系统维护Wifi设备属性、采集Wifi设备监控数据。当需要Wifi设备上、下线时,通过监管系统操作完成设备的添加、下线,同时可通过系统修改、增加设备属性信息,如:设备mac地址、设备型号、设备地理位置等。设备上线后,会定期向系统推送监控数据,从而完成设备监控数据的采集。采集数据包含:cpu...…
2306月 SQL行转列、列转行的简单实现 前言 行列转换在做报表分析时还是经常会遇到的,今天就说一下如何实现行列转换吧。 行列转换就是如下图所示两种展示形式的互相转换 行转列 假如我们有下表: SELECT* FROMstudent PIVOT( SUM(score)FORsubjectIN(语文,数学,英语) ) 通过上面SQL语句即可得到下面的...…
2306月 SQL语句优化的一些必会指南 前言 怎么加快查询速度,优化查询效率,主要原则就是应尽量避免全表扫描,应该考虑在where及orderby涉及的列上建立索引。 建立索引不是建的越多越好,原则是: 第一:一个表的索引不是越多越好,也没有一个具体的数字,根据以往的经验,一个表的索引最多不能超过6个,因为索引越多,对update和insert操作也会有性能...…
2306月 SQL中一些小巧但常用的关键字小结 前言 前面的几篇文章中,我们大体上介绍了SQL中基本的创建、查询语句,甚至也学习了相对复杂的连接查询和子查询,这些基本功相信你也一定掌握的不错,那么本篇则着重介绍几个技巧方面的关键字,能够让你更快更有效率的写出一些SQL。 下面话不多说了,来一起看看详细的介绍吧 起别名 在实际的项目中,有时候我们的表名、字段名过于复...…
2306月 数据库报:ORA-01196(ORA-10458/ORA-01110)错误的解决方法 发现问题 赞比亚的一个项目,主要做主从数据库同步,主库在赞比亚机房,从库在中国青岛阿里云服务器上面,通过Dataguard实现,当运行一段时间后,发现主从数据库的数据不一致了,从库无法启动,报“ORA-01196:文件1由于介质恢复会话失败而不一致”这个错误,具体日志信息如下: ===========《《日志信息》》...…
2306月 关于sql注入的简要演示(入坑抛砖) 首先可能大家都会问什么是sql? Sql是数据库的一种类型,是用来存储网站数据的。 每当我们点开一个网站,就会从网站的数据库中获取相关的内容。 我们来梳理一下访问网页的简图: 看完这个以后,我们发现一个问题,当我们对发送数据这块动足够脑筋的时候,只要输入合理是可以做很多事情的,我们可以利用其方式获取很多内容。...…
2306月 关于关系数据库如何快速查询表的记录数详解 前言 在数据库中,很多人员习惯使用SELECTCOUNT(*)、SELECTCOUNT(1)、SELECTCOUNT(COL)来查询一个表有多少记录,对于小表,这种SQL的开销倒不是很大,但是对于大表,这种查询表记录数的做法就是一个非常消耗资源了,而且效率很差。下面介绍一下SQLServer、Oracle、MySQL中...…
2306月 SQL注入的2个小Trick及示例总结 前言 最近发现了两个关于sql注入的小trick,分享一下.下面话不多说了,来一起看看详细的介绍吧 betweenand操作符代替比较符 操作符BETWEEN…AND会选取介于两个值之间的数据范围。这些值可以是数值、文本或者日期。 betweenand有数据比较功能 exp1betweenminandmax 如果...…
2306月 pymysql如何解决sql注入问题深入讲解 1.SQL注入 SQL注入是非常常见的一种网络攻击方式,主要是通过参数来让mysql执行sql语句时进行预期之外的操作。 即:因为传入的参数改变SQL的语义,变成了其他命令,从而操作了数据库。 产生原因:SQL语句使用了动态拼接的方式。 例如,下面这段代码通过获取用户信息来校验用户权限: importpymysq...…