首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    MySQL系列 | MySQL数据库设计规范

    【建议】对于单表读写比大于10:1的数据行或单个列,可以将热点数据放在缓存里(如mecache或redis),加快访问速度,降低MySQL压力。...【建议】SELECT语句不要使用UNION,推荐使用UNION ALL,并且UNION子句个数限制在5个以内。因为union all不需要去重,节省数据库资源,提高性能。...【建议】减少使用or语句,可将or语句优化为union,然后在各个where条件上建立索引。...如where a=1 or b=2优化为where a=1… union …where b=2, key(a),key(b)。. 【建议】分页查询,当limit起点较高时,可先用过滤条件进行过滤。...【建议】对于MySQL主从延迟严格敏感的select语句,请开启事务强制访问主库。 2.2.4 排序和分组 【建议】减少使用order by,和业务沟通能不排序就不排序,或将排序放到程序端去做。

    3.3K30

    MySQL数据库设计规范

    【建议】对于单表读写比大于10:1的数据行或单个列,可以将热点数据放在缓存里(如mecache或redis),加快访问速度,降低MySQL压力。...【建议】SELECT语句不要使用UNION,推荐使用UNION ALL,并且UNION子句个数限制在5个以内。因为union all不需要去重,节省数据库资源,提高性能。...【建议】减少使用or语句,可将or语句优化为union,然后在各个where条件上建立索引。...如where a=1 or b=2优化为where a=1… union …where b=2, key(a),key(b)。 【建议】分页查询,当limit起点较高时,可先用过滤条件进行过滤。...【建议】对于MySQL主从延迟严格敏感的select语句,请开启事务强制访问主库。 2.2.4 排序和分组 【建议】减少使用order by,和业务沟通能不排序就不排序,或将排序放到程序端去做。

    2.2K40

    SQL注入(入门)

    联合查询注入 字符型注入 布尔盲注 时间盲注 报错注入 堆叠注入 …… 整数型注入和UNION联合注入 简述 网页后端PHP的部分源代码: <?...$_GET['id']); // 将查询到的结果转化为数组 $row = mysqli_fetch_arry($res); echo ""; // 输出name...在MySql中,等号两边如果数据类型不同,会发生强制转换,例如,1a会被强制转化为1,a会被强制转化为0。按照这个特性,我们通过在前端传入特定的值,就能够很容易判断输入点为字符型。...布尔盲注和时间盲注 布尔盲注简述 布尔盲注一般适用于页面没有回显字段,不支持联合查询,且web页面返回true 或者 false,构造SQL语句,利用and,or等关键字来使其后的语句 true 、 false...而UNION联合注入也是将两条语句合并在一起,两者之间有什么区别么?区别就在于union或者union all执行的语句类型是有限的,可以用来执行查询语句,而堆叠注入可以执行的是任意的语句。

    2K30

    SQL注入基础教程

    $_GET['id']); // 将查询到的结果转化为数组 $row = mysqli_fetch_arry($res); echo ""; // 输出name...$_GET['id']"'"); // 将查询到的结果转化为数组 $row = mysqli_fetch_arry($res); echo ""; //...在MySql中,等号两边如果数据类型不同,会发生强制转换,例如,1a会被强制转化为1,a会被强制转化为0。按照这个特性,我们通过在前端传入特定的值,就能够很容易判断输入点为字符型。...布尔盲注和时间盲注 布尔盲注和时间盲注 布尔盲注简述 布尔盲注一般适用于页面没有回显字段,不支持联合查询,且web页面返回true 或者 false,构造SQL语句,利用and,or等关键字来使其后的语句...而UNION联合注入也是将两条语句合并在一起,两者之间有什么区别么?区别就在于union或者union all执行的语句类型是有限的,可以用来执行查询语句,而堆叠注入可以执行的是任意的语句。

    41950

    SQL优化和诊断

    :UNION 操作的第二个或者之后的查询 DEPENDENT UNION:UNION 操作的第二个或者之后的查询,取决于外部查询 UNION RESULT:UNION 产生的结果集 DERIVED:出现在...Limit 1 如果数据表的情况已知,某个业务需要获取符合某个Where条件下的一条数据,注意使用Limit 说明:在很多情况下我们已知数据仅存在一条,此时我们应该告知数据库只用查一条,否则将会转化为全表扫描...版本以前的此种情况都无法使用索引吧,未来可能会对其进行优化 使用 ISNULL()来判断是否为 NULL 值 说明:NULL 与任何值的直接比较都为 NULL # 1) NULLNULL 的返回结果是 NULL,而不是 false...Java编码规范中有以下内容: 【强制】不要使用 count(列名) 或 count(常量) 来替代 count(*)count(*) 是 SQL92 定义的标准统计行数的语法,跟数据库无关,跟 NULL 和非...SQL性能优化,书写高质量SQL语句(二) MySQL官方文档 Tips 自建数据表进行测试 CREATE TABLE `student` ( `id` bigint(20) NOT NULL AUTO_INCREMENT

    69140

    SQL优化和诊断

    」:UNION 操作的第二个或者之后的查询 「DEPENDENT UNION」:UNION 操作的第二个或者之后的查询,取决于外部查询 「UNION RESULT」:UNION 产生的结果集 「DERIVED...获取一条数据时的Limit 1 如果数据表的情况已知,某个业务需要获取符合某个Where条件下的一条数据,注意使用Limit 说明:在很多情况下我们已知数据仅存在一条,此时我们应该告知数据库只用查一条,否则将会转化为全表扫描...版本以前的此种情况都无法使用索引吧,未来可能会对其进行优化 使用 ISNULL()来判断是否为 NULL 值 说明:NULL 与任何值的直接比较都为 NULL # 1) NULLNULL 的返回结果是 NULL,而不是 false...编码规范中有以下内容: 【强制】不要使用 count(列名) 或 count(常量) 来替代 count(*) count(*) 是 SQL92 定义的标准统计行数的语法,跟数据库无关,跟 NULL 和非...SQL性能优化,书写高质量SQL语句(二) MySQL官方文档 Tips 自建数据表进行测试 CREATE TABLE `student` ( `id` bigint(20) NOT NULL AUTO_INCREMENT

    64020

    mysql数据库规范

    大家好,今天我们来聊一聊MySQL数据库规范,MySQL是一个广泛使用的开源关系型数据库管理系统,良好的规范可以提高数据库的性能、可靠性和可维护性。...下面是一些MySQL数据库规范的重要指南,还附了一些索引失效的常见情况和关键字列表,希望对大家有所帮助。...关键字 【建议】:建表SQL列名使用小写字符 【强制】:建表SQL中自增列必须设置为int 或bigint类型,并且只能有一列自增列 【建议】:自增列初始值建议设置为1 【建议】:对核心表及配置记录表等建议设置数据创建时间...all 代替 union,并且关联子句个数限制在 5 个以内。...因为 union all 不需要去重,节省数据库资源,提高性能 【建议】:减少使用 or 语句,可将 or 语句优化为 union,然后在各个 where 条件上建立索引 【建议】:分页查询,当 limit

    32340

    赶集mysql军规

    冗余数据 拒绝3B(big),大sql,大事务,大批量 二,字段类军规 用好数值类型 tinyint(1Byte) smallint(2Byte) mediumint(3Byte) int(4Byte) bigint...(8Byte) bad case:int(1)/int(11) 有些字符转化为数字 用int而不是char(15)存储ip 优先使用enum或set 例如:`sex` enum (‘F’, ‘M’)...字段的复合索引无效 bad case: `name` char(32) default null `age` int not null good case: `age` int not null default 0...画外音:最新的mysql内核已经进行了相关优化 limit高效分页 limit越大,效率越低 select id from t limit 10000, 10; 应该改为 => select id...from t where id > 10000 limit 10; 使用union all替代union,union有去重开销 尽量不用连接join 务必请使用“同类型”进行比较,否则可能全表扫面

    922100
    领券