MYSQL查询语句优化

MySQL:优化你的查询语句之旅 在开发和维护MySQL数据库时,优化查询语句是非常重要的。本文将带你深入了解MySQL查询语句的优化技巧。EXPLAIN命令可以帮助我们分析查询语句的执行计划,了解查询语句的性能瓶颈和优化空间。本文从MySQL查询语句的基本构造开始,介绍了常见的查询语句优化策略和特定类型的查询语句优化。通过一个实际案例来演示了优化的过程和效果。最后,介绍了一些MySQL查询优化工具。 阅读详情

mysql的性能优化包罗甚广:
索引优化,查询优化,查询缓存,服务器设置优化,操作系统和硬件优化,应用层面优化(web服务器,缓存)等等。这里的记录的优化技巧更适用于开发人员,都是从网络上收集和自己整理的,主要是查询语句上面的优化,其它层面的优化技巧在此不做记录。

查询的开销指标:

执行时间
检查的行数
返回的行数

建立索引的几个准则:

1、合理的建立索引能够加速数据读取效率,不合理的建立索引反而会拖慢数据库的响应速度。
2、索引越多,更新数据的速度越慢。
3、尽量在采用MyIsam作为引擎的时候使用索引(因为MySQL以BTree存储索引),而不是InnoDB。但MyISAM不支持Transcation。
4、当你的程序和数据库结构/SQL语句已经优化到无法优化的程度,而程序瓶颈并不能顺利解决,那就是应该考虑使用诸如memcached这样的分布式缓存系统的时候了。
5、习惯和强迫自己用EXPLAIN来分析你SQL语句的性能。

1. count的优化

比如:计算id大于5的城市
a. select count(*) from world.city where id > 5;
b. select (select count(*) from world.city) – count(*) from world.city where id <= 5;
a语句当行数超过11行的时候需要扫描的行数比b语句要多, b语句扫描了6行,此种情况下,b语句比a语句更有效率。当没有where语句的时候直接select count(*) from world.city这样会更快,因为mysql总是知道表的行数。

2. 避免使用不兼容的数据类型。

例如float和int、char和varchar、binary和varbinary是不兼容的。数据类型的不兼容可能使优化器无法执行一些本来可以进行的优化操作。
在程序中,保证在实现功能的基础上,尽量减少对数据库的访问次数;通过搜索参数,尽量减少对表的访问行数,最小化结果集,从而减轻网络负担;能够分开的操作尽量分开处理,提高每次的响应速度;在数据窗口使用SQL时,尽量把使用的索引放在选择的首列;算法的结构尽量简单;在查询时,不要过多地使用通配符如 SELECT * FROM T1语句,要用到几列就选择几列如:SELECT COL1,COL2 FROM T1;在可能的情况下尽量限制尽量结果集行数如:SELECT TOP 300 COL1,COL2,COL3 FROM T1,因为某些情况下用户是不需要那么多的数据的。不要在应用中使用数据库游标,游标是非常有用的工具,但比使用常规的、面向集的SQL语句需要更大的开销;按照特定顺序提取数据的查找。

3. 索引字段上进行运算会使索引失效。

尽量避免在WHERE子句中对字段进行函数或表达式操作,这将导致引擎放弃使用索引而进行全表扫描。如:
SELECT * FROM T1 WHERE F1/2=100 应改为: SELECT * FROM T1 WHERE F1=100*2

4. 避免使用!=或<>、IS NULL或IS NOT NULL、IN ,NOT IN等这样的操作符.

因为这会使系统无法使用索引,而只能直接搜索表中的数据。例如: SELECT id FROM employee WHERE id != “B%” 优化器将无法通过索引来确定将要命中的行数,因此需要搜索该表的所有行。在in语句中能用exists语句代替的就用exists.

5. 尽量使用数字型字段.

一部分开发人员和数据库管理人员喜欢把包含数值信息的字段
设计为字符型,这会降低查询和连接的性能,并会增加存储开销。这是因为引擎在处理查询和连接回逐个比较字符串中每一个字符,而对于数字型而言只需要比较一次就够了。

6. 合理使用EXISTS,NOT EXISTS子句。如下所示:

1.SELECT SUM(T1.C1) FROM T1 WHERE (SELECT COUNT(*)FROM T2 WHERE T2.C2=T1.C2>0)
2.SELECT SUM(T1.C1) FROM T1WHERE EXISTS(SELECT * FROM T2 WHERE T2.C2=T1.C2)
两者产生相同的结果,但是后者的效率显然要高于前者。因为后者不会产生大量锁定的表扫描或是索引扫描。如果你想校验表里是否存在某条纪录,不要用count(*)那样效率很低,而且浪费服务器资源。可以用EXISTS代替。如:
IF (SELECT COUNT(*) FROM table_name WHERE column_name = ‘xxx’)可以写成:IF EXISTS (SELECT * FROM table_name WHERE column_name = ‘xxx’)

7. 能够用BETWEEN的就不要用IN

8. 能够用DISTINCT的就不用GROUP BY

9. 尽量不要用SELECT INTO语句。SELECT INTO 语句会导致表锁定,阻止其他用户访问该表。

10. 必要时强制查询优化器使用某个索引

SELECT * FROM T1 WHERE nextprocess = 1 AND processid IN (8,32,45) 改成:
SELECT * FROM T1 (INDEX = IX_ProcessID) WHERE nextprocess = 1 AND processid IN (8,32,45)
则查询优化器将会强行利用索引IX_ProcessID 执行查询。

11. 消除对大型表行数据的顺序存取

尽管在所有的检查列上都有索引,但某些形式的WHERE子句强迫优化器使用顺序存取。如:
SELECT * FROM orders WHERE (customer_num=104 AND order_num>1001) OR order_num=1008
解决办法可以使用并集来避免顺序存取:
SELECT * FROM orders WHERE customer_num=104 AND order_num>1001 UNION SELECT * FROM orders WHERE order_num=1008
这样就能利用索引路径处理查询。【jacking 数据结果集很多,但查询条件限定后结果集不大的情况下,后面的语句快】

12. 尽量避免在索引过的字符数据中,使用非打头字母搜索。这也使得引擎无法利用索引。

见如下例子:
SELECT * FROM T1 WHERE NAME LIKE ‘%L%’
SELECT * FROM T1 WHERE SUBSTING(NAME,2,1)=’L’
SELECT * FROM T1 WHERE NAME LIKE ‘L%’
即使NAME字段建有索引,前两个查询依然无法利用索引完成加快操作,引擎不得不对全表所有数据逐条操作来完成任务。而第三个查询能够使用索引来加快操作,不要习惯性的使用 ‘%L%’这种方式(会导致全表扫描),如果可以使用`L%’相对来说更好;

13. 虽然UPDATE、DELETE语句的写法基本固定,但是还是对UPDATE语句给点建议:

a) 尽量不要修改主键字段。
b) 当修改VARCHAR型字段时,尽量使用相同长度内容的值代替。
c) 尽量最小化对于含有UPDATE触发器的表的UPDATE操作。
d) 避免UPDATE将要复制到其他数据库的列。
e) 避免UPDATE建有很多索引的列。
f) 避免UPDATE在WHERE子句条件中的列。

14. 能用UNION ALL就不要用UNION

UNION ALL不执行SELECT DISTINCT函数,这样就会减少很多不必要的资源
在跨多个不同的数据库时使用UNION是一个有趣的优化方法,UNION从两个互不关联的表中返回数据,这就意味着不会出现重复的行,同时也必须对数据进行排序,我们知道排序是非常耗费资源的,特别是对大表的排序。
UNION ALL可以大大加快速度,如果你已经知道你的数据不会包括重复行,或者你不在乎是否会出现重复的行,在这两种情况下使用UNION ALL更适合。此外,还可以在应用程序逻辑中采用某些方法避免出现重复的行,这样UNION ALL和UNION返回的结果都是一样的,但UNION ALL不会进行排序。

15. 字段数据类型优化:

a. 避免使用NULL类型:NULL对于大多数数据库都需要特殊处理,MySQL也不例外,它需要更多的代码,更多的检查和特殊的索引逻辑,有些开发人员完全没有意识到,创建表时NULL是默认值,但大多数时候应该使用NOT NULL,或者使用一个特殊的值,如0,-1作为默认值。
b. 尽可能使用更小的字段,MySQL从磁盘读取数据后是存储到内存中的,然后使用cpu周期和磁盘I/O读取它,这意味着越小的数据类型占用的空间越小,从磁盘读或打包到内存的效率都更好,但也不要太过执着减小数据类型,要是以后应用程序发生什么变化就没有空间了。修改表将需要重构,间接地可能引起代码的改变,这是很头疼的问题,因此需要找到一个平衡点。
c. 优先使用定长型

16. 关于大数据量limit分布的优化见下面链接(当偏移量特别大时,limit效率会非常低):

http://ariyue.iteye.com/blog/553541
附上一个提高limit效率的简单技巧,在覆盖索引(覆盖索引用通俗的话讲就是在select的时候只用去读取索引而取得数据,无需进行二次select相关表)上进行偏移,而不是对全行数据进行偏移。可以将从覆盖索引上提取出来的数据和全行数据进行联接,然后取得需要的列,会更有效率,看看下面的查询:
mysql> select film_id, description from sakila.film order by title limit 50, 5;
如果表非常大,这个查询最好写成下面的样子:
mysql> select film.film_id, film.description from sakila.film
inner join(select film_id from sakila.film order by title liimit 50,5) as film usinig(film_id);

17. 程序中如果一次性对同一个表插入多条数据,比如以下语句:

insert into person(name,age) values(‘xboy’, 14);
insert into person(name,age) values(‘xgirl’, 15);
insert into person(name,age) values(‘nia’, 19);
把它拼成一条语句执行效率会更高.
insert into person(name,age) values(‘xboy’, 14), (‘xgirl’, 15),(‘nia’, 19);

18. 不要在选择的栏位上放置索引,这是无意义的。应该在条件选择的语句上合理的放置索引,比如where,order by。

SELECT id,title,content,cat_id FROM article WHERE cat_id = 1;

上面这个语句,你在id/title/content上放置索引是毫无意义的,对这个语句没有任何优化作用。但是如果你在外键cat_id上放置一个索引,那作用就相当大了。

19. ORDER BY语句的MySQL优化:
a. ORDER BY + LIMIT组合的索引优化。如果一个SQL语句形如:

SELECT [column1],[column2],…. FROM [TABLE] ORDER BY [sort] LIMIT [offset],[LIMIT];

这个SQL语句优化比较简单,在[sort]这个栏位上建立索引即可。

b. WHERE + ORDER BY + LIMIT组合的索引优化,形如:

SELECT [column1],[column2],…. FROM [TABLE] WHERE [columnX] = [VALUE] ORDER BY [sort] LIMIT [offset],[LIMIT];

这个语句,如果你仍然采用第一个例子中建立索引的方法,虽然可以用到索引,但是效率不高。更高效的方法是建立一个联合索引(columnX,sort)

c. WHERE + IN + ORDER BY + LIMIT组合的索引优化,形如:

SELECT [column1],[column2],…. FROM [TABLE] WHERE [columnX] IN ([value1],[value2],…) ORDER BY [sort] LIMIT [offset],[LIMIT];

这个语句如果你采用第二个例子中建立索引的方法,会得不到预期的效果(仅在[sort]上是using index,WHERE那里是using where;using filesort),理由是这里对应columnX的值对应多个。
目前哥还木有找到比较优秀的办法,等待高手指教。

d.WHERE+ORDER BY多个栏位+LIMIT,比如:

SELECT * FROM [table] WHERE uid=1 ORDER x,y LIMIT 0,10;

对于这个语句,大家可能是加一个这样的索引:(x,y,uid)。但实际上更好的效果是(uid,x,y)。这是由MySQL处理排序的机制造成的。

20. 其它技巧:

http://www.cnblogs.com/nokiaguy/archive/2008/05/24/1206469.html
http://www.cnblogs.com/suchshow/archive/2011/12/15/2289182.html
http://www.cnblogs.com/cy163/archive/2009/05/28/1491473.html
http://www.cnblogs.com/younggun/articles/1719943.html
http://wenku.baidu.com/view/f57c7041be1e650e52ea9985.html

最后,你可以使用explain关键字去判断和评测一个sql语句是否还有优化的可能性,关于它的详细使用请参考mysql手册。

斑马打印机状态监控进阶:不用SDK也能获取打印状态的3种野路子 本文介绍了三种不依赖官方SDK的斑马打印机状态监控方法,包括SGD命令、TCP端口嗅探和共享打印机日志分析。这些方案适用于老旧系统或网络受限环境,帮助运维人员实时掌握打印状态,提升设备管理效率。特别适合工业自动化和物流仓储场景中的应急处理。 阅读详情

相关推荐

手把手教你用smarteye搭建免费GB28181监控平台(含海康设备接入避坑指南)

本文提供了一份基于SmartEye搭建免费GB28181视频监控平台的实战指南。详细介绍了从服务器部署、GB28181协议核心配置,到海康威视等主流设备接入的完整流程,并重点分享了设备注册失败、无法预览等常见问题的深度排错方法,旨在帮助中小企业及开发者低成本实现多品牌监控设备的统一管理。

pz89012345的博客 326

MySQL 查询优化(九):分页查询优化技巧

在有分页查询的应用中,包括 LIMIT 和 OFFSET 的查询十分常见,而且几乎每个都会有一个 ORDER BY 子句。如果使用索引排序的话将对性能优化十分有帮助,否则服务端需要做很多文件排序。

Flutter 跨平台技术研究 951

VS Code + ESP-IDF:离线环境配置与示例工程编译全指南

本文详细介绍了在VS Code中离线配置ESP-IDF开发环境的完整流程。针对国内开发者常遇到的网络问题,指南提供了从Python环境准备、获取离线安装包、运行安装器到VS Code插件配置与示例工程编译的全套解决方案,确保环境搭建稳定、可控且高效。

weixin_28842367的博客 402

盘点数据库慢查询的12个原因

前言 日常开发中,我们经常会遇到数据库慢查询。那么导致数据慢查询都有哪些常见的原因?大家聊聊导致数据库慢查询的12个常见原因,以及对应的解决方法。 1. SQL没加索引 很多时候,我们的慢查询,都是因为没有加索引。如果没有加索引的话,会导致全表扫描的。因此,应考虑在where的条件列,建立索引,尽量避免全表扫描。 反例: select * from user_info where name = 正例: //添加索引 alter table user_info add index

m0_67698950的博客 1万+

INS/伪距组合导航(2)

伪距惯导组合导航

u014430081的博客 828

【上海大学计算机组成原理实验报告】一、数据传送实验

将58H写入A寄存器//将6BH写入W寄存器//将C3H写入R1寄存器//将C3H写入R1寄存器//了解实验仪器数据总线的控制方式//掌握数据传送的基本原理//掌握各寄存器的结构、工作原理及其控制方法//数据传送实验

HackerKevon的博客 3509

java面试题(十四)数据库之sql

参考答案MySQL的分页语法:在MySQL中,SELECT语句默认返回所有匹配的行,它们可能是指定表中的每个行。为了返回第一行或前几行,可使用LIMIT子句,以实现分页查询。LIMIT子句的语法如下:– 在所有的查询结果中,返回前5行记录。– 在所有的查询结果中,从第5行开始,返回5行记录。总之,带一个值的LIMIT总是从第一行开始,给出的数为返回的行数。带两个值的LIMIT可以指定从行号为第一个值的位置开始。

weixin_60257072的博客 781

扣子(coze)案例^第22期:零代码打造小红书竞品监控系统+AI自动生成运营策略建议

本文详细介绍了如何利用扣子(coze)平台零代码搭建小红书竞品监控系统。该系统通过自动化工作流抓取竞品笔记数据,并存入飞书多维表格,结合AI能力自动生成包含可视化分析报告在内的运营策略建议,帮助运营者高效进行数据驱动的市场分析。

weixin_29313239的博客 1004

LIMIT分页优化查询

在进行分页查询的时候,通常会使用LIMIT加偏移量的办法实现,但当偏移量非常大的时候,例如:LIMIT 10000, 20这样的查询,这是MySQL需要查询10020条记录然后只返回20条,前面的10000条都将会抛弃。这样的代价就非常高。 优化上述查询,有两种方案供选择: 在页面中限制分页的数量 优化大偏移量的性能 使用索引覆盖扫描,不查询所有的列,然后根据需要进行一次关联,再返回所需的列 例如下面查询: SELECT film_id, description FROM sakila.film O.

学而不思则忘 1310

【HSPiP应用指南】从理论到实践:如何利用汉森溶解度参数优化配方设计

本文深入解析了汉森溶解度参数(HSP)理论及其在配方设计中的核心价值,并详细介绍了如何利用HSPiP软件工具从理论走向实践。文章通过匹配溶解度参数、计算汉森距离(Ra),系统阐述了如何解决溶剂选择、颜料分散稳定性及扩散行为预测等关键问题,并结合界面气相色谱(IGC)等实验方法提升预测精度,旨在帮助配方师实现配方设计的可视化、可量化与高效优化。

weixin_29305313的博客 1645

【人工智能】从零开始玩转龙虾(Openclaw):本地与云端(火山Arkcloud)部署全指南

龙虾(Openclaw)是一款海外智能体操作系统(agent operating system),可通过飞书机器人实现自动化办公、信息抓取、任务协作等功能。它支持本地部署和云端部署两种方式,适配MacOS和Windows系统(,建议优先使用MacOS)。sudo。

奶爸的编程之路,也就一周冷个三天 947

MySQL优化之查询优化

索引优化 一、存储引擎以不同方式使用B-Tree索引 1.MyISAM使用前缀压缩技术使索引更小,但InnoDB则按照原数据格式存储。 2.MyISAM索引通过物理位置引用被索引的行,InnoDB则根据主键引用被索引的行 二、使用索引 索引的优点 建立索引的目的是加快对表中记录的查找或排序! ① 建立索引的列可以保证行的唯一性,生成唯一的rowId ② 建立索引可以有效缩短数据的检索时间 ③ 建立索引可以加快表与表之间的连接 ④ 为用来排序或者是分组的字段添加索引可以加快分组和排序.

wjcid的博客 321

51单片机8×8LED点阵屏动态显示取模汉字+ Proteus仿真

51单片机8×8LED点阵屏动态显示取模汉字+ Proteus仿真 Proteus仿真 取模软件:pctolcd2002 程序代码 #include<reg52.h> unsigned char code taba[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//行选 unsigned char code tabb[]={0x08,0x49,0x49,0x7F,0x08,0x49,0x49,0x7F};//选列"出" unsigned cha

perseverance51博客 8055

MySQL 如何优化SQL查询语句

优化 MySQL 的 SQL 查询语句需要从索引、查询逻辑、数据库设计、配置等多方面入手。优化 SQL 需结合具体场景,通过索引、改写查询、调整设计、优化配置等综合手段提升性能。)并使用工具(如 Percona Toolkit)分析是持续优化的关键。使用连接池(如 HikariCP)避免频繁创建连接,调整。避免单表过多字段,可垂直拆分(如将大字段分离到副表)。读多写少的场景可适当冗余字段(如统计字段),减少。:使用 InnoDB 行锁,避免长事务。索引包含查询所需字段,避免回表。(使用的索引)等字段。

sheji888的专栏 945

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

一条MYSQL查询语句很慢,怎么去排查优化

MySQL查询性能优化是提升数据库效率的关键。首先,通过EXPLAIN分析查询执行计划,识别全表扫描或索引未使用等问题。其次,合理使用索引,特别是选择性高的列和复合索引,可以显著提高查询速度。优化查询语句,如避免SELECT *和在WHERE子句中使用函数,也是提升性能的有效方法。此外,监控数据库资源使用情况,如CPU、内存和I/O,以及调整MySQL配置,如innodb_buffer_pool_size,都是优化的重要步骤。对于大数据量表,考虑分区和分表策略。通过综合运用这些方法,可以显著提升MySQL查

有时间就写写代码 1237

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

mysql 查询语句_mysql查询语句很慢?可以试试几种SQL优化

连接查询的优化无论什么数据库,多表连接的查询成本都是比较高的,因此对于高并发应用,应该尽量减少有连接的查询,多表连接的个数不要超过4张表。一般数据量少的时候,连接开小不大,一般不会有性能问题,当数据量变大后,那么性能问题就会比较突出。所以在数据库初期最好能确定哪个表能成为大表,然后进行反范式设计减少连接的表,例如增加冗余字段等等,或者在业务代码中进行连接计算。一些经验总结点:1、ON、U...

weixin_39672296的博客 286

MySQL优化查询语句一共包含哪些部分?

优化方法适用场景底层原理利用索引经常用于 WHERE 条件的字段通过 B+ 树等数据结构快速定位数据,避免全表扫描避免索引失效避免对索引字段做函数/计算索引的有序性被破坏,无法利用索引快速定位优化 JOIN多表关联查询通过索引加速表间匹配,减少嵌套循环次数优化子查询包含子查询的复杂查询将子查询转换为 JOIN,减少查询次数分页优化大偏移量的分页查询记录上次位置,避免扫描大量无用数据为什么要优化查询语句?

长风破浪会有时的博客 1030

php面试专题---MYSQL查询语句优化

php面试专题---MYSQL查询语句优化 一、总结 一句话总结: mysql的性能优化包罗甚广: 索引优化,查询优化,查询缓存,服务器设置优化,操作系统和硬件优化,应用层面优化(web服务器,缓存)等等。 1、mysql建立索引的几个准则? 1、合理:合理的建立索引能够加速数据读取效率,不合理的建立索引反而会拖慢数据库的响应速度。 2、适量:索引越多,更新数据的速度越慢。 3...

weixin_33898233的博客 234

MySQL 常用30种SQL查询语句优化方法

MySQL 常用30种SQL查询语句优化方法

呆木弱鸡 401

Mysql查询语句相关优化

mysql的性能优化包罗甚广: 索引优化,查询优化,查询缓存,服务器设置优化,操作系统和硬件优化,应用层面优化(web服务器,缓存)等等。 这里的记录的优化技巧更适用于开发人员,都是从网络上收集和自己整理的,主要是查询语句上面的优化,其它层面的优化技巧在此不做记录 查询的开销指标: 执行时间 检查的行数 返回的行数 建立索引的几个准则: 1.合理的建立索引能够加速数据读取效率,不合理的建立索引反而会拖慢数据库的相应速度 2.索引越多,更新数据的速度越慢 3.尽量在采用MyIS..

羽风的博客 262

MYSQL查询语句优化的见解

MYSQL查询语句优化   mysql的性能优化包罗甚广: 索引优化,查询优化,查询缓存,服务器设置优化,操作系统和硬件优化,应用层面优化(web服务器,缓存)等等。这里的记录的优化技巧更适用于开发人员,都是从网络上收集和自己整理的,主要是查询语句上面的优化,其它层面的优化技巧在此不做记录。 查询的开销指标: 执行时间 检查的行数 返回的行数 建立索引的几个准则: 1、合理的...

qq_42535601的博客 183

Mysql查询语句优化

前言上一篇文章 《MySQL索引原理机器优化》讲了索引的一些原理以及优化方案,这一次学习对查询的优化,毕竟快速的查找到数据才是我们的最终目的.分析查询想要对一条查询语句进行优化,首先要对其进行分析,MySQL提供了这个机制, 可以通过explain sql或者desc sql的语法去获取MySQL对某一条语句的执行计划(MySQL优化之后的),explain的用法这里就不再赘述了,在另外一篇文章中...

十指波课堂的博客 368

如何优化mysql 的查询语句

优化 MySQL 查询对于提高应用程序性能至关重要。本文将介绍一些优化 MySQL 查询的最佳实践,并提供实际示例。

公众号【伤心的辣条】资料领取~ 1002

mysql的sql查询语句优化_Mysql实例SQL查询语句优化的实用方法总结

《Mysql实例SQL查询语句优化的实用方法总结》要点:本文介绍了Mysql实例SQL查询语句优化的实用方法总结,希望对您有用。如果有疑问,可以联系我们。查询语句的优化是SQL效率优化的一个方式,可以通过优化sql语句来尽量使用已有的索引,避免全表扫描,从而提高查询效率.最近在对项目中的一些sql进行优化,总结整理了一些方法.MYSQL实例1、在表中建立索引,优先考虑where、group by使...

weixin_32920055的博客 221

delete select语句_如何优化你的MySQL查询语句

1.如果内容能被转化为数字类型,尽量使用数字类型而不是字符类型如果要保存IPv4地址, 反例`正例。`原因 - 因为IPv4地址可以转化成一个int类型的十进制整数。转化方法:ip中的每一段转化为两位的十六进制整数。例如,192.160.98.123转化为十六进制数是,C0,A0,62,7B,C0A0627B转化为十进制数是3231736443。 2.不要用select *,而是要select具...

weixin_39575502的博客 282
上一篇: quartz 时间调度 多个触发器
下一篇: java.net.UnknownHostException 异常处理
OnePiece_Sky
博客等级 码龄15年 9粉丝 63原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值