跳到主要内容

mysql版ip数据库

·

mysql版ip数据库

1、建立数据库名称ip_data

2、sql执行代码建立ip表,其实在界面也可以建立5张基础表,不一定必须要用代码建立

1CREATE TABLE `ip` (
2      `id` int(20) default NULL,
3      `ipstart` varchar(30) default '',
4      `ipend` varchar(30) default NULL,
5      `region` varchar(50) default NULL,
6      `address` varchar(100) default NULL,
7      KEY `IP` USING BTREE (`ipstart`,`ipend`)
8      ) ENGINE=MyISAM DEFAULT CHARSET=utf8;

3、自已想办法按照表名规则正确导入数据库

4、查询方式的目的与作用

1select  *  from ip where INET_ATON('115.46.155.242') between INET_ATON(ipstart) and INET_ATON(ipend);

结果如下
ipstart | ipend | region | address
115.46.155.240 115.46.155.242 广西 网通
关键词搜索

1select * from 表名 where concat(`段名1`,`段名2`,`段名3`) like '%关键词%'

5、EXPLAIN 分析SQL执行的状态

EXPLAIN列的解释
table       显示这一行的数据是关于哪张表的
type        这是重要的列,显示连接使用了何种类型。从最好到最差的连接类型为const、eq_reg、ref、range、indexhe和ALL
possible_keys   显示可能应用在这张表中的索引。如果为空,没有可能的索引。可以为相关的域从WHERE语句中选择一个合适的语句
key        实际使用的索引。如果为NULL,则没有使用索引。
key_len      使用的索引的长度。在不损失精确性的情况下,长度越短越好
ref        显示索引的哪一列被使用了,如果可能的话,是一个常数
rows       MYSQL认为必须检查的用来返回请求数据的行数
Extra       关于MYSQL如何解析查询的额外信息。

查询当前索引,表名ip 库名ip_data,或者在 select前面加上 explain 则会显示;

1SHOW INDEX FROM ip  FROM ip_data

下方的控制台主要关注两个栏,type和extra
当extra出现Using filesort和Using temproary这两个时,表示无法使用索引,必须尽快做优化。
当type出现index和all时,表示走的是全表扫描没有走索引,效率低下,这时需要对sql进行调优。
当type出现ref或者index时,表示走的是索引,index是标准不重复的索引,ref表示虽然使用了索引,但是索引列中有重复的值,但是就算有重复值,也只是在重复值的范围内小范围扫描,不造成重大的性能影响。

索引优化实战
有些时候虽然数据库有索引,但是并不被优化器选择使用,我们可以通过以下执行,查看索引的使用情况:

1SHOW STATUS LIKE 'Handler_read%';

Handler_read_key:如果索引正在工作,Handler_read_key的值将很高。
Handler_read_rnd_next:数据文件中读取下一行的请求数,如果正在进行大量的表扫描,值将较高,则说明索引利用不理想。

如果查IP地址经过转码则:
点格式的ip地主:115.46.155.242
整数形式的ip地址:1932434418
计算方法:115256256256+46256256+155256+242=1932434418
sql语句:select ip_calc(‘115.46.155.242’);

在MySql中定位的方式为:

1select * from data_ip where
2ipstart <=ip_calc('115.46.155.242')
3and
4ipend >= ip_calc('115.46.155.242');

MYSQL数据库查询结果:
ipstart ipend region address
1932427264 1932460031 广西 网通

PHP网页版输出展示:
很久搭建MD5查询库时已经在架思,准备筹划做地址库,一切想起来简单,但是实现起来需要些时间,现在我已经做出来了,API测试 API输出结果格式如下:(URL+IP)

https://api.hkfx.net/dz.php?ip=

白日映照满天星
作者
白日映照满天星
订阅我频道让你站在上帝角度观察视野! QQ:3925993 有尝解决技术问题【备注你的问题】 🐑

阅读量:评论:
赞赏码图