随笔分类 -  数据库

摘要:web的性能优化,首先来看,web应用会在哪些地方遇到性能瓶颈。这里我们先来看一下web的访问流程 用户-->输入网址-->域名解析(DNS)--> 简历网络连接(带宽有影响,三次握手[TCP/IP])-->web服务器(NGINX,Apache)-->应用服务器-->servlet/filter/ 阅读全文
posted @ 2020-06-22 18:51 小军的代码库 阅读(228) 评论(0) 推荐(0)
摘要:排查问题时,需要查看正在执行的SQL,可以用如下两种方式进行查看。 1: 使用show processlist,但是有个弊端,就是只能查看正在执行的sql语句,对应历史记录,查看不到。好处是不用设置,不会保存。 1 -- use information_schema; 2 -- show proce 阅读全文
posted @ 2020-06-15 16:58 小军的代码库 阅读(1117) 评论(0) 推荐(0)
摘要:需求: 监听一个链接的访问来源,对于这种行为数据的统计,根据运营人员的数据需求可以用不同的方式进行统计 1.存储到数据库 (这种方法最直接,统计的数据字段也可以增加,后期也方便进行多维度数据分析) 2.存储到文件(写入文件),这种方式的效率太低,每次都要读取,写入文件,对服务器的性能消耗比较大,尤其 阅读全文
posted @ 2017-09-15 18:49 小军的代码库 阅读(343) 评论(0) 推荐(0)
摘要:db(0)->find($sql); foreach ($rows as $val) { $accepter = $val['email']; $tite = $val['subject']; $bodys = $val['body']; $result = Common::Postm... 阅读全文
posted @ 2017-08-02 10:31 小军的代码库 阅读(325) 评论(0) 推荐(0)
摘要:需求: 需要导出hr_users 表中的部分字段的数据,以前是用PHP写脚本,然后导出CSV文件。 在MySQL中,它自己就能导出CSV文件 ,只不过是有如下几个问题需要大家解决。 1. 生成文件不成功,没有读写权限 2.导出数据为中文乱码 3.数据没有格式化,阅读不方便 解决方案: 如果使用 se 阅读全文
posted @ 2017-07-26 10:33 小军的代码库 阅读(20954) 评论(0) 推荐(1)
摘要:下面是一个是用case函数来完成这个功能的例子 case具有两种格式。简单case函数和case搜索函数。 --简单case函数 这两种方式,可以实现相同的功能。简单case函数的写法相对比较简洁,但是和case搜索函数相比,功能方面会有些限制,比如写判断式。 还有一个需要注意的问题,case函数只 阅读全文
posted @ 2017-02-20 17:52 小军的代码库 阅读(5245) 评论(0) 推荐(0)
摘要:mysql当插入重复时更新的方法: 第一种方法: 示例一:插入多条记录 假设有一个主键为 client_id 的 clients 表,可以使用下面的语句: 示例一:插入单条记录 使用 dual 做表名可以让你在 select 语句后面直接跟上要插入字段的值,即使这些值还不存在当前表中。 第二种方法: 阅读全文
posted @ 2017-02-15 16:16 小军的代码库 阅读(219) 评论(0) 推荐(0)
摘要:PHP将多维数组中的数据批量插入到数据库中,顾名思义,需要用循环来插入。 1.循环insert into 语句,逐渐查询 如果数据量非常大的话,重复执行insert 语句显然不适合 如果 需要判断数据库中已经存在数据时 不需要插入,可以在数据库字段中给定唯一,这样就不需要进行判断是否存在,只需要判断 阅读全文
posted @ 2017-02-14 16:39 小军的代码库 阅读(850) 评论(0) 推荐(0)
摘要:INSERT IGNORE 与INSERT INTO的区别就是INSERT IGNORE会忽略数据库中已经存在 的数据,如果数据库没有数据,就插入新的数据,如果有数据的话就跳过这条数据。 这样就可以保留数据库中已经存在数据,达到在间隙中插入数据的目的。 在MySQL中进行条件插入数据时,可能会用到以 阅读全文
posted @ 2017-02-13 20:50 小军的代码库 阅读(578) 评论(0) 推荐(0)
摘要:一 测试表的创建 二 实现方法 INSERT INTO test.`User`(uid,name,sex,age) VALUES(1,"xiaowang2","male",22) ON DUPLICATE KEY UPDATE name=VALUES(name),sex=VALUES(sex),ag 阅读全文
posted @ 2017-02-10 15:58 小军的代码库 阅读(13419) 评论(0) 推荐(0)
摘要:在用MySQL查询数据的时候,遇到了一个奇怪的问题。用一个varchar类型的字符串str,作为条件与0比较时,会查str不为0的数据。 比如:SELECT id, idnumber from hr_student where idnumber = 0;会查到idnumber 为'0','身份证', 阅读全文
posted @ 2017-02-08 16:38 小军的代码库 阅读(1227) 评论(0) 推荐(0)
摘要:以下是高效的查询方式 阅读全文
posted @ 2016-12-24 12:02 小军的代码库 阅读(141) 评论(0) 推荐(0)
摘要:此代码是PC端接口调用的内部代码 阅读全文
posted @ 2016-12-12 15:19 小军的代码库 阅读(270) 评论(0) 推荐(0)
摘要:通常mysql获取查询记录总数我们使用如下语句: 但是记录总数总是需要单独的语句来查询,例如在分页查询程序中就有这样的问题,其实mysql可以在一次查询中获取记录和总数的,这就是要使用SQL_CALC_FOUND_ROWS参数,使用方法如下: 这虽然是两个sql语句,但是确是查询一次数据库,效率明显 阅读全文
posted @ 2016-12-01 12:17 小军的代码库 阅读(1296) 评论(0) 推荐(0)
摘要:左连接查询在开发中很常用,但有个问题常常会遇到,两个表中有同名字段时,比如左右表都有一个id字段,会造成查询结果中左表的id值被右表的id值覆盖掉(大部分php框架都是这个效果),而且还不会报错,容易留下隐蔽的bug!解决办法很简单,给同名字段用AS起别名。例如:order表,farmer表都含有i 阅读全文
posted @ 2016-12-01 11:59 小军的代码库 阅读(1847) 评论(0) 推荐(0)
摘要:SQL 注入是PHP应用中最常见的漏洞之一。事实上令人惊奇的是,开发者要同时犯两个错误才会引发一个SQL注入漏洞. 一个是没有对输入的数据进行过滤(过滤输入),还有一个是没有对发送到数据库的数据进行转义(转义输出)。 这两个重要的步骤缺一不可,需要同时加以特别关注以减少程序错误。对于攻击者来说,进行 阅读全文
posted @ 2016-11-25 19:35 小军的代码库 阅读(227) 评论(0) 推荐(0)
摘要:需求:在传递一组职位编号的时候,需要统计该职位的 当天的投递情况 和 有历史记录以来总的投递量 解决方案一: 每次都进行一次数据库查询,遍历职位id,再根据职位id去查询相应时间内的投递量 以上这种方法思路确实很简单,但是仔细查看,在运行的时候可以算一下进行了多少次的数据库查询,每一次的foreac 阅读全文
posted @ 2016-11-25 15:12 小军的代码库 阅读(212) 评论(0) 推荐(0)
摘要:今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显。关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我们程序员需要去关注的事情。当我们去设计数据库表结构,对操作数据库时(尤其是查表时的SQL语句),我们都需要注意数据操作的性能。这里,我们不会讲过多的SQL语句的优 阅读全文
posted @ 2016-11-23 10:30 小军的代码库 阅读(187) 评论(0) 推荐(0)
摘要:在mongodb中,我们给每个文档插入数据的时候,mongodb自动会为我们插入的数据创建数据类型。由于mongodb是一个非结构化的数据存储系统,因此在文档中你可以随意插入不同类型的字段,这和MySQL有很大的区别(MySQL是结构化类型存储,要求对应的字段的数据类型相同)。在mongodb的图形 阅读全文
posted @ 2016-11-15 10:42 小军的代码库 阅读(524) 评论(0) 推荐(0)
摘要:查询效率分析:子查询为确保消除重复值,必须为外部查询的每个结果都处理嵌套查询。在这种情况下可以考虑用联接查询来取代。如果要用子查询,那就用EXISTS替代IN、用NOT EXISTS替代NOT IN。因为EXISTS引入的子查询只是测试是否存在符合子查询中指定条件的行,效率较高。无论在哪种情况下,N 阅读全文
posted @ 2016-11-01 10:00 小军的代码库 阅读(343) 评论(0) 推荐(0)