MySQL字符串函数substring:字符串截取

MYSQL操作B2C项目开发

MySQL字符串函数substring:字符串截取

丝画阁 阅读:186评论:82019-09-21 13:28:18

mysql日期转换函数

MYSQL操作B2C项目开发

mysql日期转换 STR_TO_DATE(#{create_date},‘%Y-%m-%d %H:%i:%s’) date_format(now(),‘%Y-%m-%d %H:%i:%s’)

丝画阁 阅读:544评论:82018-12-23 23:24:44

MySQL待改进的一些问题

MYSQL操作B2C项目开发

这是学习笔记的第 1833篇文章 首先做个背景说明,我的工作重点内容是MySQL方向,说MySQL的问题不是说MySQL不行,而是希望通过一种开放的方式来讨论,同时也不是说MySQL欠缺的地方,就一定需要参考其他数据库方向的。 当然在这篇之后,我会再写一些MySQL独有的一些亮点特性。 首先,我觉得有几个地方是MySQL待改进的,待改进不意味着要添加,也需要做减法,我觉这些应该是明确不会大力支持的: event的支持问题 存储过程,触发器 分区表

丝画阁 阅读:294评论:82018-12-18 16:27:12

如何从根本上防止 SQL 注入

MYSQL操作B2C项目开发

SQL注入本质上是数据和语句的混淆。在数据被拼入SQL模版变成SQL片段的时候,正是防止SQL注入漏洞产生的最佳时机,这时候什么是数据什么是语句分得最清楚,只要使用强类型转化就可以避免数据和语句的混淆,而无需特征匹配或语法分析。一但失去这个时机,红豆和绿豆混在一起,再想摘出来就难了,难免会被绕过。 参数化只是捕捉这个时机并有效处理的最佳手段而已,这里“最佳”是包含了有效性、成本、可控等若干方面的考量。看到很多人粗暴的将其理解为“参数化能防SQL注入”,然后举各种反例,也挺无奈的。 相关讨论中,很多人混淆了“抵御SQL注入攻击”和“防止SQL注入

丝画阁 阅读:301评论:82018-12-18 16:26:37

Mysql读写分离是什么?主从数据库如何设置?

MYSQL操作B2C项目开发

何谓读写分离? Mysql无非四个功能:增,删,改,读.而将增删改和读分离操作.这样有利于提高系统性能. 试着想想,进搬退改货又卖货改成了前门只卖货,其它去后门.这样是不是就很清晰了? 往往看起来高大上的东西,做起来也是挺简单的. 下面是写给小白的,都是非常直观的操作. 1、配置: 两台服务器同配置的mysql如mysql5.7 PS:如果条件有限,一台也可以,只需要安装两个mysql服务(不同端口如3306,3307),只是这就有点违背效率初衷了

丝画阁 阅读:225评论:82018-12-13 21:19:55

什么是B-Tree

MYSQL操作B2C项目开发

B-Tree就是我们常说的B树,一定不要读成B减树,否则就很丢人了。B树这种数据结构常常用于实现数据库索引,因为它的查找效率比较高。 磁盘IO与预读 磁盘读取依靠的是机械运动,分为寻道时间、旋转延迟、传输时间三个部分,这三个部分耗时相加就是一次磁盘IO的时间,大概9ms左右。这个成本是访问内存的十万倍左右;正是由于磁盘IO是非常昂贵的操作,所以计算机操作系统对此做了优化:预读;每一次IO时,不仅仅把当前磁盘地址的数据加载到内存,同时也把相邻数据也加载到内存缓冲区中。因为局部预读原理说明:当访问一个地址数据的时候,与其相邻的数据很快也会被访问到。

丝画阁 阅读:226评论:82018-12-13 20:39:52

MySql数据库开发规范及优化,面试必备

MYSQL操作B2C项目开发

数据库命名规范 所有的数据库对象名称(包括库名、表名、列名等等)必须以小写字母命名,每个单词之间用下划线分割 所有的数据库对象名称禁止使用MySQL保留关键字 数据库对象的命名要能做到见名知意,并且不要超过32个字符 数据库中用到的临时表以tmp为前缀并以日期为后缀 数据库中用到的备份表以bak为前缀并以日期为后缀 在不同的库或表中,要保证所有存储相同数据的列名和列类型必须一致 数据库基本设计规范

丝画阁 阅读:206评论:82018-12-13 20:39:14

数据库索引的作用和优缺点以及索引的11种用法

MYSQL操作B2C项目开发

1、为什么要创建索引呢? 这是因为,创建索引可以大大提高系统的性能。 第一,通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。 第二,可以大大加快 数据的检索速度,这也是创建索引的最主要的原因。 第三,可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。 第四,在使用分组和排序 子句进行数据检索时,同样可以显著减少查询中分组和排序的时间。 第五,通过使用索引,可以在查询的过程中,使用优化隐藏器,提高系统的性能。 2、也许会有人要问

丝画阁 阅读:219评论:82018-12-13 20:37:49

数据库索引的实现原理

MYSQL操作B2C项目开发

说白了,索引问题就是一个查找问题。 数据库索引,是数据库管理系统中一个排序的数据结构,以协助快速查询、更新数据库表中数据。索引的实现通常使用B树及其变种B+树。 在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现高级查找算法。这种数据结构,就是索引。 为表设置索引要付出代价的:一是增加了数据库的存储空间,二是在插入和修改数据时要花费较多的时间(因为索引也要随之变动)。 上图展示了一种可能

丝画阁 阅读:184评论:82018-12-13 20:37:11

MySQL批量SQL插入性能优化

MYSQL操作B2C项目开发

对于一些数据量较大的系统,数据库面临的问题除了查询效率低下,还有就是数据入库时间长。特别像报表系统,每天花费在数据导入上的时间可能会长达几个小时或十几个小时之久。因此,优化数据库插入性能是很有意义的。 经过对MySQL innodb的一些性能测试,发现一些可以提高insert效率的方法,供大家参考参考。 1、一条SQL语句插入多条数据。 常用的插入语句如: INSERT INTO `insert_table` (`datetime`, `uid`, `content`, `type`) VALUES ('0', '

丝画阁 阅读:209评论:82018-12-13 17:49:12