php通过mysql like搜索关键词查询,所有符合数据遍历出来

php通过mysql like搜索关键词查询,所有符合数据遍历出来,第1张

<php

$host="localhost";

$username="root";

$password="root";

$db="db4"; //库名

$mysql_table="person"; //表名

//连接数据库,面向过程

$conn=mysqli_connect($host,$username,$password);

if(!$conn){

echo "数据库连接失败";

exit;

}

//选择所要 *** 作的数据库

mysqli_select_db($conn,$db);

//设置数据库编码格式

mysqli_query($conn,"SET NAMES UTF8");

//编写sql获取分页数据 SELECT FROM 表名 LIMIT 起始位置,显示条数

//注意:以下id,name,age,say都是字段节点名,person是表名,db4是数据库名,think是指定的关键字

$sql = 'SELECT id, name, age, say

FROM person

WHERE say LIKE "%think%" order by id ASC LIMIT '($page-1)$pageSize ",{$pageSize}";

// 节点名 关键字 节点名 可指定数量limit后可写一个指定的数字

//$sql="select from $mysql_table"

//把sql语句传送到数据库

$result=mysqli_query($conn,$sql);

//将数据显示到table中,并未table设置格式

echo "<div class='content'>";

echo "<table border=1 cellspacing=0 width=30% align=center>";

echo "<tr><td>ID</td><td>NAME</td><td>say</td></tr>";

while ($row = mysqli_fetch_assoc($result)) {

echo "<tr>";

echo "<td>{$row['id']}</td>";

echo "<td>{$row['name']}</td>";

echo "<td>{$row['say']}</td>";

echo "<tr>";

}

echo "</table>";

echo "</div>";

//释放结果

mysqli_free_result($result);

//关闭数据库

mysqli_close($conn);

我们都知道,服务器数据库的开发一般都是通过java或者是PHP语言来编程实现的,而为了提高我们数据库的运行速度和效率,数据库优化也成为了我们每日的工作重点,今天,沙河IT培训就一起来了解一下mysql服务器数据库的优化方法。

为什么要了解索引

真实案例

案例一:大学有段时间学习爬虫,爬取了知乎300w用户答题数据,存储到mysql数据中。那时不了解索引,一条简单的“根据用户名搜索全部回答的sql“需要执行半分钟左右,完全满足不了正常的使用。

案例二:近线上应用的数据库频频出现多条慢sql风险提示,而工作以来,对数据库优化方面所知甚少。例如一个用户数据页面需要执行很多次数据库查询,性能很慢,通过增加超时时间勉强可以访问,但是性能上需要优化。

索引的优点

合适的索引,可以大大减小mysql服务器扫描的数据量,避免内存排序和临时表,提高应用程序的查询性能。

索引的类型

mysql数据中有多种索引类型,primarykey,unique,normal,但底层存储的数据结构都是BTREE;有些存储引擎还提供hash索引,全文索引。

BTREE是常见的优化要面对的索引结构,都是基于BTREE的讨论。

B-TREE

查询数据简单暴力的方式是遍历所有记录;如果数据不重复,就可以通过组织成一颗排序二叉树,通过二分查找算法来查询,大大提高查询性能。而BTREE是一种更强大的排序树,支持多个分支,高度更低,数据的插入、删除、更新更快。

现代数据库的索引文件和文件系统的文件块都被组织成BTREE。

btree的每个节点都包含有key,data和只想子节点指针。

btree有度的概念d>=1。假设btree的度为d,则每个内部节点可以有n=[d+1,2d+1)个key,n+1个子节点指针。树的大高度为h=Logb[(N+1)/2]。

索引和文件系统中,B-TREE的节点常设计成接近一个内存页大小(也是磁盘扇区大小),且树的度非常大。这样磁盘I/O的次数,就等于树的高度h。假设b=100,一百万个节点的树,h将只有3层。即,只有3次磁盘I/O就可以查找完毕,性能非常高。

索引查询

建立索引后,合适的查询语句才能大发挥索引的优势。

另外,由于查询优化器可以解析客户端的sql语句,会调整sql的查询语句的条件顺序去匹配合适的索引。

以上就是关于php通过mysql like搜索关键词查询,所有符合数据遍历出来全部的内容,包括:php通过mysql like搜索关键词查询,所有符合数据遍历出来、mysql数据库的优化方法、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/10071626.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存