![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据库基础
文章平均质量分 80
Leon04095
平凡与辉煌最大的区别是执行力
展开
-
java 实现搜索附近人功能
方案一:现在很多手机软件都用附近搜索功能,但具体是怎么实现的呢》在网上查了很多资料,mysql空间数据库、矩形算法、geohash我都用过了,当数据上了百万之后mysql空间数据库方法是最强最精确的(查询前100条数据只需5秒左右)。接下来推出一个原创计算方法,查询速度是mysql空间数据库算法的2倍$lng是你的经度,$lat是你的纬度SELECT lng,lat, (POWER...原创 2017-04-17 16:01:44 · 15043 阅读 · 5 评论 -
MySQL索引设置以及查询效率优化
MySQL索引原理以及查询优化:https://www.cnblogs.com/bypp/p/7755307.html查看MySQL的当前存储引擎及命令介绍:https://www.cnblogs.com/zhming26/p/6322353.html查看当前MySQL存储引擎: mysql> show engines;索引设置:#1 索引种类:1. Fu...转载 2019-07-22 17:39:48 · 676 阅读 · 0 评论 -
SQL优化之如何将SQL执行效率提高了10000000倍!
场景我用的数据库是mysql5.6,下面简单的介绍下场景课程表:createtableCourse( c_idintPRIMARYKEY, namevarchar(10))数据100条学生表:createtableStudent( idintPRIMARYKEY, namevarchar(10))...转载 2019-06-20 10:22:38 · 770 阅读 · 1 评论 -
MySQL中sql转义符
Mybatis中的sql语句中的 “<” 和 “>” 号要用转义字符 “&lt;” 和 ”&gt;“ ,否则会报错!使用mybatis 时sql语句是写在xml文件中,如果sql中有一些特殊的字符的话,比如< ,<=,>,>=等符号,会引起xml格式的错误, 需要替换掉,或者不被转义。 有两种方法可以解决:转义字符和标记...原创 2019-01-23 17:53:18 · 13700 阅读 · 0 评论 -
mybatis if test 字符串和字符判断及mysql时间段查询
‘’标识字符 <if test="chr=='1'"></if>”标识字符串 <if test='str=="1"'></if>mysql日期比较语句select * from student where '2012-02-27 00:00:00' < created_date and '2012-02-29 00:00原创 2019-01-23 18:15:18 · 6768 阅读 · 0 评论 -
Mysql字符串字段判断是否包含某个字符串的方法
方法一:likeSELECT * FROM 表名 WHERE 字段名 like "%字符%";方法二:find_in_set()利用mysql 字符串函数 find_in_set();SELECT * FROM users WHERE find_in_set('字符', 字段名);这样是可以的,怎么理解呢?mysql有很多字符串函数 find_in_set(str1,s...原创 2019-01-23 18:07:55 · 54905 阅读 · 0 评论 -
sql查询结果列拼接成逗号分隔的字符串
背景:做SQL查询时会经常需要,把查询的结果拼接成一个字符串。解决方法: 通过 group_concat 函数拼接的结果很长,导致拼接结果显示不全,可以通过以下方法解决。在每次查询前执行 SET SESSION group_concat_max_len = 10240;或者SET GLOBAL group_concat_max_len = 10240; 使得查询结果值变大。...原创 2019-01-23 18:02:30 · 68585 阅读 · 1 评论 -
视图、索引、存储过程简述与优缺点
1.视图(1).什么是视图?视图(View)作为一种数据库对象,为用户提供了一个可以检索数据表中的数据方式。用户通过视图来浏览数据表中感兴趣的部分或全部数据,而数据的物理存储位置仍然在表中。视图是一个虚拟表,并不代表任何物理数据,只是用来查看数据的窗口而已。视图并不是以一组数据的形式存储在数据库中,数据库中只存储视图的定义,而不存储视图对应的数据,这些数据仍存储在导出视图的基本表中。当基本表...转载 2018-11-12 15:21:54 · 1488 阅读 · 0 评论 -
Mysql避免全表扫描的sql查询优化
对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引: 尝试下面的技巧以避免优化器错选了表扫描: 使用ANALYZE TABLE tbl_name为扫描的表更新关键字分布。对扫描的表使用FORCE INDEX告知MySQL,相对于使用给定的索引表扫描将非常耗时。SELECT * FROM t1, t2 FORCE INDEX (...原创 2018-10-23 15:59:59 · 3138 阅读 · 0 评论 -
MYSQL中取整函数ROUND,FLOOR和CEILING的用法
一、ROUND()函数用法 ROUND(X) -- 表示将值 X 四舍五入为整数,无小数位 ROUND(X,D) -- 表示将值 X 四舍五入为小数点后 D 位的数值,D为小数点后小数位数。若要保留 X 值小数点左边的 D 位,可将 D 设为负值。 该函数与FLOOR函数有所不同,在应用中需注意,另外,DECIMAL函数也有类似该函数四舍五入的功能。1、ROUND示例:...原创 2018-10-09 17:37:47 · 10955 阅读 · 0 评论 -
MongoDB服务端与客户端下载、安装和配置教程
MongoDB版本3.6.3 MongoDB社区版 1.0 robomongo https://robomongo.org/下载官网下载请点击这里,百度云下载请点击这里,提取码:6av6安装MongoDB的安装非常简单,除了安装路径可以自己选择之外,其它的步骤一直点下一步就行 robomongo的安装同样非常简单,不多说了实践就知道了各文件功能解释- mong...原创 2018-08-14 11:10:12 · 6707 阅读 · 0 评论 -
mysql数据库常用要点记录
MyBatis在insert插入操作时返回主键ID的配置:MySQL用法:<insert id="insert" parameterType="com.test.User" keyProperty="userId" useGeneratedKeys="true" >上面配置中,“keyProperty”表示返回的id要保存到对象的那个属性中,“useGeneratedKeys”表示主...原创 2018-03-07 10:26:33 · 230 阅读 · 0 评论 -
MySQL实现菜单递归查询
使用MySQL应该会知道这个数据库是不支持直接递归查询的,Oracle connect by支持下面记录我在项目中遇到的这个没有递归查询的解决方法先贴出一张图,一个简单的用户-角色-菜单的查询sql,SQL中传有两个参数请注意,当然也可以只传入一个用户id即可,但是需要多关联一些表,这里已简单的方式做.由下图可以很清楚看出来查出来的菜单数据本身就是有层级关系的(排序id暂时未加入sql),那么我们...原创 2018-03-06 11:30:44 · 23672 阅读 · 1 评论 -
sql字段拼接成新字段
有的时候,我们有需要将由不同栏位获得的资料串连在一起。每一种资料库都有提供方法来达到这个目的:MySQL: CONCAT()Oracle: CONCAT(), ||SQL Server: +CONCAT() 的语法如下:CONCAT(字串1, 字串2, 字串3, ...): 将字串1、字串2、字串3,等字串连在一起。请注意,Oracle的CONCAT()只允许两个参数;换言之,一次只能将两个字串串...原创 2018-03-02 18:07:04 · 16886 阅读 · 0 评论 -
数据库优化
跟大家一起分享。此文章原文地址:http://www.ihref.com/read-16422.html1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,Sql 代码 : select id from t where num is n...转载 2018-03-07 11:40:42 · 162 阅读 · 0 评论 -
MySQL部门或菜单父子节点递归实现树查询
目前的mysql版本中并不支持直接的递归查询,但是通过递归到迭代转化的思路,可以在一句SQL内实现树的递归查询下面给一个小示例,后续在贴上调用的代码(代码会贴在最后请注意)MySQL递归查询所有子节点,树形结构查询--表结构CREATE TABLE `address` (`id` int(11) NOT NULL AUTO_INCREMENT,`code_value` varchar(32) DE...原创 2017-12-27 16:44:31 · 33439 阅读 · 1 评论 -
mybatis中的#{}和${}区别
1. #将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号。如:order by #user_id#,如果传入的值是111,那么解析成sql时的值为order by "111", 如果传入的值是id,则解析成的sql为order by "id". 2. $将传入的数据直接显示生成在sql中。如:order by $user_id$,如果传入的值是111,那么解析成sql原创 2017-10-23 09:52:32 · 226 阅读 · 0 评论 -
MongoDB 适用场景与优劣
在云栖社区上发起了一个 MongoDB 使用场景及运维管理问题交流探讨的技术话题,有近5000人关注了该话题讨论,这里就 MongoDB 的使用场景做个简单的总结,谈谈什么场景该用 MongoDB?很多人比较关心 MongoDB 的适用场景,也有用户在话题里分享了自己的业务场景,比如案例1用在应用服务器的日志记录,查找起来比文本灵活,导出也很方便。也是给应用练手,从外围系统开始使用Mo...原创 2019-09-17 11:39:06 · 7519 阅读 · 0 评论