CN116756177B - 一种mysql数据库的多表索引维护方法和系统 - Google Patents
一种mysql数据库的多表索引维护方法和系统 Download PDFInfo
- Publication number
- CN116756177B CN116756177B CN202311014146.7A CN202311014146A CN116756177B CN 116756177 B CN116756177 B CN 116756177B CN 202311014146 A CN202311014146 A CN 202311014146A CN 116756177 B CN116756177 B CN 116756177B
- Authority
- CN
- China
- Prior art keywords
- index
- memcached
- index information
- mysql database
- cache
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000012423 maintenance Methods 0.000 title claims abstract description 113
- 238000000034 method Methods 0.000 title claims abstract description 39
- 230000001360 synchronised effect Effects 0.000 claims description 9
- 238000004891 communication Methods 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 8
- 238000001514 detection method Methods 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 230000002688 persistence Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/2433—Query languages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24553—Query execution of query operations
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种mysql数据库的多表索引维护方法和系统,方法包括:构建包括Memcached客户端的Memcached缓存,在所述Memcached缓存中构建mysql数据库索引;在所述Memcached缓存中生成第一索引和第一索引信息维护表;CDN网络分发服务器生成第二索引和第二索引信息维护表,Memcached缓存通过Memcached客户端将第一索引和第一索引信息维护表同步到第二索引和第二索引信息维护表;CDN网络分发服务器获取Memcached客户端的IP地址,判断Memcached客户端的Memcached缓存状态执行第二索引和第二索引信息维护表同步至第一索引和第一索引信息维护表。
Description
技术领域
本发明涉及数据库索引技术领域,特别涉及一种mysql数据库的多表索引维护方法和系统。
背景技术
目前现有的mysql数据库的维护方式通常都是基于开发者的经验,数据库索引的使用情况无法监控,其中可能存在这样一些问题:存在一些未被命中的无效索引,浪费存储空间,增加了数据库开销;存在一些未命中索引的sql,查询速度缓慢,且增加数据库压力,容易引发数据库故障,导致业务受损。另外传统的数据库表维护方式的性能还有待提高,尤其是针对庞大数据量的维护缺乏高效的维护手段和效果。
发明内容
本发明其中一个发明目的在于提供一种mysql数据库的多表索引维护方法和系统,所述方法和系统利用Memcached缓存和CDN网络分发服务器的方式构建不同的mysql数据库索引,并分别针对两种缓存分别提供索引信息表单,利用所述索引信息表单进行数据库索引维护,可以提高数据库索引的维护效果。
本发明另一个发明目的在于提供一种mysql数据库的多表索引维护方法和系统,所述方法和系统利用Memcached缓存的客户端和CDN网络分发服务器建立数据库索引同步操作,当Memcached缓存索引发生变化时,将索引和索引信息表单同步到CDN网络分发服务器,使得当整个系统关闭后再次开启后可以通过CDN网络分发服务器通过Memcached客户端将索引和索引信息表单同步到Memcached缓存中,同时可以实现索引维护表单的持久性和Memcached缓存在mysql数据库中的高性能。
本发明另一个发明目的在于提供一种mysql数据库的多表索引维护方法和系统,所述方法和系统利用索引信息记录表单可以实时获取mysql数据库在Memcached缓存中索引命中记录,因此研发人员可以快速地了解mysql数据库的索引使用情况,便于研发人员自动或手动维护mysql数据库的索引。
为了实现至少一个上述发明目的,本发明进一步提供一种mysql数据库的多表索引维护方法,所述方法包括:
构建包括Memcached客户端的Memcached缓存,在所述Memcached缓存中构建mysql数据库索引;
在所述Memcached缓存中生成第一索引和第一索引信息维护表;
CDN网络分发服务器生成第二索引和第二索引信息维护表,所述Memcached缓存通过Memcached客户端将所述第一索引和第一索引信息维护表同步到所述第二索引和第二索引信息维护表;
所述CDN网络分发服务器获取Memcached客户端的IP地址和请求资源URL,并判断Memcached客户端的Memcached缓存状态执行所述第二索引和第二索引信息维护表同步至所述第一索引和第一索引信息维护表。
根据本发明其中一个较佳实施例,所述第一索引信息维护表的内容包括:主键、索引数据库名、索引数据表名、索引名、索引命中字段、索引命中次数、索引状态和创建时间和更新时间,当系统初始化后,将对应的索引信息记录到所述第一索引信息维护表中。
根据本发明另一个较佳实施例,利用mysql拦截器获取sql操作库表及查询字段信息,并在所述Memcached缓存中查找第一索引信息维护表中是否存在对应的索引,若存在则直接在所述第一索引信息维护表的对应索引名的索引命中次数进行更新,若未命中,则直接在所述第一索引信息维护表中插入一条待添加的索引状态。
根据本发明另一个较佳实施例,所述Memcached客户端和所述CDN网络分发服务器建立http/https通讯,Memcached客户端实时扫描对应Memcached缓存中的所述第一索引信息记录表所有内容的更新情况,若存在更新则将更新内容通过所述http/https通讯方式同步到所述CDN网络分发服务器的第二索引信息维护表中,使得所述第二索引信息维护表字段内容和第一索引信息维护表内容相同。
根据本发明另一个较佳实施例,若查看当前索引的使用数据,则仅调用所述第一索引维护表内容,通过Memcached客户端的get指令获取Memcached缓存中指定key对应的value。
根据本发明另一个较佳实施例,根据预先配置的mysql索引命中规则判断sql查询语句中是否存在所述索引信息表中字段,若存在则将该字段和对应的索引值通过Memcached客户端的set或replace指令替换对应索引的value值,并统计命中字段个数,若当前对应的索引的value值不相同,并将更新的索引字段和索引值同步更新到对应CDN网络分发服务器中。
根据本发明另一个较佳实施例,利用所述Memcached客户端设置自增或自减规则,通过incr/decr命令统计当前索引命中规则下每个sql查询语句的索引命中数目和待添加索引状态的个数,并分别设置对应的数目阈值,根据数目阈值和真实索引命中数目和待添加索引状态的个数执行所述第一索引信息维护表的维护操作。
根据本发明另一个较佳实施例,分别设置待添加索引状态个数阈值和已存在命中索引个数阈值,并设置检测周期,在所述检测周期内,若根据sql查询语句得到的命中索引个数小于所述命中索引个数阈值,或者待添加索引状态个数大于所述待添加索引状态个数阈,则生成反馈信息,将所述反馈信息发送给维护端,维护端执行所述索引的增添或删除操作。
根据本发明另一个较佳实施例,所述CDN网络分发服务器判断当前Memcached客户端对应的Memcached缓存状态,若当前Memcached缓存处于宕机或关闭状态,则不在执行当前Memcached缓存的mysql数据库索引的更新操作,直到当前Memcached缓存重新运行后,所述CDN网络分发服务器根据获取的Memcached客户端IP将最新的第二索引和第二索引信息维护表同步到所述Memcached缓存中重新构建第一索引和第一索引信息维护表。
为了实现至少一个上述发明目的,本发明进一步提供一种mysql数据库的多表索引维护系统。
本发明进一步提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行以实现上述一种mysql数据库的多表索引维护方法。
附图说明
图1显示的是本发明一种mysql数据库的多表索引维护方法流程示意图。
图2显示的是本发明中索引信息维护表的一个较佳实施例示意图。
图3显示的是本发明中索引信息维护表的命中记录流程示意图。
图4显示的是本发明中索引信息维护表的增减流程示意图。
具体实施方式
以下描述用于揭露本发明以使本领域技术人员能够实现本发明。以下描述中的优选实施例只作为举例,本领域技术人员可以想到其他显而易见的变型。在以下描述中界定的本发明的基本原理可以应用于其他实施方案、变形方案、改进方案、等同方案以及没有背离本发明的精神和范围的其他技术方案。
可以理解的是,术语“一”应理解为“至少一”或“一个或多个”,即在一个实施例中,一个元件的数量可以为一个,而在另外的实施例中,该元件的数量可以为多个,术语“一”不能理解为对数量的限制。
请结合图1-图4,本发明公开了一种mysql数据库的多表索引维护方法和系统,所述方法主要采用了Memcached缓存构建的mysql数据库索引和CDN网络分发服务器作为同步缓存执行维护表的同步维护操作。由于Memcached缓存作为分布式缓存其存储在内存中,具有高速高性能的优势。然而Memcached缓存缺乏对mysql数据库索引和索引维护表的持久性。因此本发明利用CDN网络分发服务器作为同步服务器克服了Memcached缓存在宕机或关闭状态下持久性问题,并且由于CDN网络分发服务器具有最接近边缘节点通讯的特点,可以使得CDN网络分发服务器以较低的通讯成本和延迟实现所述mysql数据库索引和索引维护表同步操作,提高所述mysql数据库索引和索引维护表的持久性和效率。
具体而言,本发明中设置所述Memcached缓存的Memcached客户端,其中所述Memcached客户端指向指定的Memcached缓存,需要说明的是,由于Memcached缓存自身具有隔离性,不同的Memcached缓存之间不互通,因此本发明通过构建Memcached客户端和不同Memcached缓存构建不同的缓存服务,在完成Memcached客户端-缓存的构建后,将所述mysql数据库存储到所述Memcached缓存中,不同缓存区域可以通过在Memcached客户端识别不同key值或哈希取模算法进行区分,本发明对此不再详细赘述。本发明在所述Memcached缓存中构建mysql数据库索引和索引信息维护表,其中所述索引信息维护表记录了mysql数据库索引信息,并在索引命中规则条件下,基于sql操作库表及查询语句获得命中的索引字段和对应的索引值,并进一步根据包括所述索引字段的命中次数执行所述索引信息维护表。
需要说明的是,本发明利用所述Memcached客户端构建mysql拦截器,所述mysql拦截器获取针对所述mysql数据库的sql操作库表及查询字段信息,并根据所述sql操作库表及查询字段信息和所述索引命中规则判断SQL查询语句中的字段是否命中了所述索引信息维护表中的字段,若命中该字段,则对该索引命中次数进行记录。值得一提的是,本发明定义在所述Memcached缓存中构建的索引为第一索引,同时定义所述Memcached缓存中构建的索引信息维护表为第一索引信息维护表。当所述述sql操作库表及查询字段信息的SQL查询语句命中了所述第一索引信息维护表的对应字段后,记录下该字段对应的主键、索引数据库名、索引数据表名、索引名、索引命中字段、创建时间和更新时间,其中上述被命中字段可以是一个索引主键下的字段,其包含分层的数据结构,因此包括的数据索引数据库名、索引数据表名、索引名均可以通过所述第一索引信息维护表查询到。当然在本发明其它一个较佳实施例中,根据所述SQL查询语句得到的命中字段可以是上述主键、索引数据库名、索引数据表名、索引名、创建时间和更新时间中的任意一个字段,字段类型本发明不做具体限制。
本发明进一步在所述第一索引信息维护表中配置包括索引命中次数、索引状态的维护表单维护项,其中当所述sql操作库表及查询字段信息的SQL查询语句命中了所述第一索引信息维护表的对应字段后,在对应字段的第一索引信息维护表的维护项的索引命中次数加1,其中本发明中可以采用Memcached缓存中的incr/decr命令统计所述对应字段在所述第一索引信息维护表的命中个数和待添加的索引状态个数。其中所述待添加索引状态为当sql操作库表及查询字段信息的SQL查询语句未命中第一索引信息维护表中的任意一项。此时通过所述Memcached客户端在所述第一索引信息维护表中添加待添加索引状态,表示存在需要增加索引内容的状态,若存在则将该字段和对应的索引值通过Memcached客户端的set或replace指令替换对应索引的value值,若对应的索引的value值相同。举例而言,定义incr命令(自增)的初始值为0,并且定义自增的增加值increment_value为1,Memcached缓存中的incr命令可以计算sql查询语句中的关键词是否存在于当前第一索引信息维护表在所述Memcached缓存中的key值中,若存在则在当前初始值0的基础上增加数值1,此时自增总值为F1=0+1=1,继续查找下一个符合的关键词在所述Memcached缓存中的key值,若存在下一个key值被所述关键词命中,此时根据所述incr命令,和上一个自增总值计算下一个自增总值F2=1+1=2。再次根据所述SQL查询语句的关键词查找下一个被所述关键词命中的key值,直到所有的被命中的key值均被所述incr自增命令所记录。此时统计的自增总值为Fn=(n-1)+1=n,其中n为被命中key的总数。因此通过上述incr命令记录下所有被SQL查询语句命中的key值。在本发明另一个较佳实施例中,若预先获取所有存在Memcached缓存中key的总数目,则可以执行decr(自减)命令的方式得到对应的SQL查询语句命中的key值,在所述decr(自减)命令过程中,初始值为Memcached缓存中key的总数目,所述第一索引信息维护表每一个被命中的key值均被记录一次,记录原理和自增incr命令相同,本发明对此不在详细赘述。
需要说明的是,本发明进一步利用所述Memcached缓存的incr/decr命令统计待添加索引状态个数,方法具体包括如下步骤:若当前SQL查询语句中的关键词未命中所述第一索引信息维护表的字段所命中,此时通过所述incr命令输出一个NOT_FOUND消息,该消息表示当前SQL查询语句中的关键词未在所述第一索引信息维护表中存在,记录当前关键词对应的NOT_FOUND消息,并将该关键词作为所述待添加索引状态的关键词。在初始化过程中待添加索引状态个数的初始值为S0=0,在SQL查询语句中的关键词对所述第一索引信息维护表按照命中规则进行查询得到NOT_FOUND消息后,执行累加操作,此时S1=0+1=1,直到Sx=(x-1)+1=x,其中x表示待添加索引状态总个数值。当然在本发明另一些较佳实施例中可以通过所述decr(自减)命令执行所述待添加索引状态总个数值的统计操作,统计方法和上述incr命令原理相同,本发明对此不再详细赘述。
在完成上述第一索引信息维护表字段命中个数和待添加的索引状态个数的统计后,需要执行数据同步操作,其中所述数据同步操作包括:判断当前命中字段的key对应的value值是否存在更新,若不存在更新,则不执行当前key和对应的value值的同步操作。其中判断更新的方式包括但不仅限于value值的更新时间和更新记录的查询分析,或者采用备份的数据对比方式实现,本发明对此不再限制。若当前当前命中字段的key对应的value值被判断为存在更新,则将所述更新的命中字段的key对应的value值同步至所述CDN网络分发服务器中。其中本发明还需要将上述记录的待添加索引状态和对应状态总个数作为所述第一引信息维护表的更新数据同步到所述CDN网络分发服务器中。
更新数据同步的方法主要包括如下步骤:所述Memcached客户端预先通过http/https的方式和所述CDN网络分发服务器建立通讯连接。当所述Memcached客户端对应的Memcached缓存的第一索引信息维护表存在更新的字段key和对应的value值存在更新时,以及包含未命中关键词的待添加索引状态和索引状态总数值的数据,此时所述Memcached客户端向所述CDN网络分发服务器发送请求,其中Memcached客户端可以向所述CDN网络分发服务器的源站发送同步存储请求,将上述第一索引信息维护表存在更新的字段key和对应的value值存在更新时数据,以及包含未命中关键词的待添加索引状态和索引状态总数值的数据存储到所述CDN网络分发服务器的源站中,所述CDN网络分发服务器的源站同时获取所述Memcached客户端的IP地址,CDN网络分发服务器的源站自身的负载均衡将上述第一索引信息维护表存在更新的字段key和对应的value值存在更新时数据,以及包含未命中关键词的待添加索引状态和索引状态总数值的数据存储到的边缘节点中实现同步操作。
当Memcached客户端和Memcached缓存宕机并重新启动后,Memcached客户端向所述CDN网络分发服务器发送同步请求,所述CDN网络分发服务器解析了所述同步请求中的Memcached客户端IP地址和请求内容的URL,进一步根据Memcached客户端IP地址,以及Memcached客户端请求的内容URL,选择一台用户所属区域的区域负载均衡设备,告诉向这台设备(最邻近边缘节点)发起请求。此时所述最邻近边缘节点向所Memcached客户端发送最新的对应的第一索引信息维护表,从而完成同步操作。
本发明进一步针对所述第一索引信息维护表执行固定周期内的维护操作,所述维护操作包括:预设固定时间长度的固定周期,其中所述固定周期可以设置为一周等。分别设置待添加索引状态个数阈值和已存在命中索引个数阈值,并设置检测周期,在所述检测周期内,若根据sql查询语句得到的命中索引个数小于所述命中索引个数阈值,或者待添加索引状态个数大于所述待添加索引状态个数阈,则生成反馈信息,将所述反馈信息发送给维护端,维护端执行所述索引的增添或删除操作。
本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分从网络上被下载和安装,和/或从可拆卸介质被安装。在该计算机程序被中央处理单元(CPU)执行时,执行本申请的方法中限定的上述功能。需要说明的是,本申请上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是但不限于电、磁、光、电磁、红外线段、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线段的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线段、电线段、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域的技术人员应理解,上述描述及附图中所示的本发明的实施例只作为举例而并不限制本发明,本发明的目的已经完整并有效地实现,本发明的功能及结构原理已在实施例中展示和说明,在没有背离所述原理下,本发明的实施方式可以有任何变形或修改。
Claims (10)
1.一种mysql数据库的多表索引维护方法,其特征在于,所述方法包括:
构建包括Memcached客户端的Memcached缓存,在所述Memcached缓存中构建mysql数据库索引;
在所述Memcached缓存中生成第一索引和第一索引信息维护表,所述Memcached缓存中构建mysql数据库索引为第一索引;
CDN网络分发服务器生成第二索引和第二索引信息维护表,所述Memcached缓存通过Memcached客户端将所述第一索引和第一索引信息维护表同步到所述第二索引和第二索引信息维护表;
所述CDN网络分发服务器获取Memcached客户端的IP地址,并判断Memcached客户端的Memcached缓存状态执行所述第二索引和第二索引信息维护表同步至所述第一索引和第一索引信息维护表。
2.根据权利要求1所述的一种mysql数据库的多表索引维护方法,其特征在于,所述第一索引信息维护表的内容包括:主键、索引数据库名、索引数据表名、索引名、索引命中字段、索引命中次数、索引状态和创建时间和更新时间,当系统初始化后,将对应的索引信息记录到所述第一索引信息维护表中;
利用mysql拦截器获取sql操作库表及查询字段信息,并在所述Memcached缓存中查找第一索引信息维护表中是否存在对应的索引,若存在则直接在所述第一索引信息维护表的对应索引名的索引命中次数进行更新,若未命中,则直接在所述第一索引信息维护表中插入一条待添加索引状态。
3.根据权利要求1所述的一种mysql数据库的多表索引维护方法,其特征在于,所述Memcached客户端和所述CDN网络分发服务器建立http/https通讯,Memcached客户端实时扫描对应Memcached缓存中的第一索引信息记录表所有内容的更新情况,若存在更新则将更新内容通过所述http/https通讯方式同步到所述CDN网络分发服务器的第二索引信息维护表中,使得所述第二索引信息维护表字段内容和第一索引信息维护表内容相同。
4.根据权利要求1所述的一种mysql数据库的多表索引维护方法,其特征在于,若查看当前索引的使用数据,则仅调用第一索引维护表内容,通过Memcached客户端的get指令获取Memcached缓存中指定key对应的value。
5.根据权利要求1所述的一种mysql数据库的多表索引维护方法,其特征在于,根据预先配置的mysql索引命中规则判断sql查询语句中是否存在索引信息表中字段,若存在则将该字段和对应的索引值通过Memcached客户端的set或replace指令替换对应索引的value值,并统计命中字段个数,若当前对应的索引的value值不相同,将更新的索引字段和索引值同步更新到对应CDN网络分发服务器中。
6.根据权利要求1所述的一种mysql数据库的多表索引维护方法,其特征在于,利用所述Memcached客户端设置自增或自减规则,通过incr/decr命令统计当前索引命中规则下每个sql查询语句的索引命中数目和待添加索引状态的个数,并分别设置对应的数目阈值,根据数目阈值和真实索引命中数目和待添加索引状态的个数执行所述第一索引信息维护表的维护操作。
7.根据权利要求1所述的一种mysql数据库的多表索引维护方法,其特征在于,分别设置待添加索引状态个数阈值和已存在命中索引个数阈值,并设置检测周期,在所述检测周期内,若根据sql查询语句得到的命中索引个数小于所述命中索引个数阈值,或者待添加索引状态个数大于所述待添加索引状态个数阈,则生成反馈信息,将所述反馈信息发送给维护端,维护端执行所述索引的增添或删除操作。
8.根据权利要求1所述的一种mysql数据库的多表索引维护方法,其特征在于,所述CDN网络分发服务器判断当前Memcached客户端对应的Memcached缓存状态,若当前Memcached缓存处于宕机或关闭状态,则不在执行当前Memcached缓存的mysql数据库索引的更新操作,直到当前Memcached缓存重新运行后,所述CDN网络分发服务器根据获取的Memcached客户端IP将最新的第二索引和第二索引信息维护表同步到所述Memcached缓存中重新构建第一索引和第一索引信息维护表。
9.一种mysql数据库的多表索引维护系统,其特征在于,所述系统执行上述权利要求1-8中任意一项所述的一种mysql数据库的多表索引维护方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行以实现权利要求1-8中任意一项所述的一种mysql数据库的多表索引维护方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311014146.7A CN116756177B (zh) | 2023-08-14 | 2023-08-14 | 一种mysql数据库的多表索引维护方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311014146.7A CN116756177B (zh) | 2023-08-14 | 2023-08-14 | 一种mysql数据库的多表索引维护方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116756177A CN116756177A (zh) | 2023-09-15 |
CN116756177B true CN116756177B (zh) | 2023-10-24 |
Family
ID=87949969
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311014146.7A Active CN116756177B (zh) | 2023-08-14 | 2023-08-14 | 一种mysql数据库的多表索引维护方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116756177B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109636334A (zh) * | 2018-12-07 | 2019-04-16 | 深圳市汇鑫科技股份有限公司 | 一种物业智慧社区服务系统及方法 |
GB202110163D0 (en) * | 2020-07-14 | 2021-08-25 | Spirent Communications Plc | An architecture for providing forecasts of GNSS obscuration and multipath |
CN115695049A (zh) * | 2022-12-29 | 2023-02-03 | 江苏云工场信息技术有限公司 | 一种cdn元数据分发方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9369520B2 (en) * | 2012-08-19 | 2016-06-14 | Box, Inc. | Enhancement of upload and/or download performance based on client and/or server feedback information |
US20140337472A1 (en) * | 2012-12-13 | 2014-11-13 | Level 3 Communications, Llc | Beacon Services in a Content Delivery Framework |
-
2023
- 2023-08-14 CN CN202311014146.7A patent/CN116756177B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109636334A (zh) * | 2018-12-07 | 2019-04-16 | 深圳市汇鑫科技股份有限公司 | 一种物业智慧社区服务系统及方法 |
GB202110163D0 (en) * | 2020-07-14 | 2021-08-25 | Spirent Communications Plc | An architecture for providing forecasts of GNSS obscuration and multipath |
CN115695049A (zh) * | 2022-12-29 | 2023-02-03 | 江苏云工场信息技术有限公司 | 一种cdn元数据分发方法及装置 |
Non-Patent Citations (2)
Title |
---|
"基于Memcached的云缓存系统的设计与实现";何耀武;《中国优秀硕士学位论文全文数据库 信息科技辑》;第I138-268页 * |
XiaoKang Hu等."STYX: A Hierarchical Key Management System for Elastic Content Delivery Networks on Public Clouds".《IEEE Transactions on Dependable and Secure Computing(Volume: 18,Issue: 2,01 March-April 2021)》.2019,第1-4页. * |
Also Published As
Publication number | Publication date |
---|---|
CN116756177A (zh) | 2023-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102133951B1 (ko) | 짧은 링크 처리 방법, 디바이스, 및 서버 | |
KR102160318B1 (ko) | 중개 시스템에서 데이터 집계 | |
CN107783985B (zh) | 一种分布式数据库查询方法、装置及管理系统 | |
CN109981659B (zh) | 基于数据去重技术的网络资源预取方法以及系统 | |
US20160188749A1 (en) | Feed Data Storage and Query | |
CN104765840A (zh) | 一种大数据分布式存储的方法和装置 | |
US10474185B2 (en) | Timestamp alignment across a plurality of computing devices | |
CN104794190A (zh) | 一种大数据有效存储的方法和装置 | |
US10824612B2 (en) | Key ticketing system with lock-free concurrency and versioning | |
US11210211B2 (en) | Key data store garbage collection and multipart object management | |
US11507277B2 (en) | Key value store using progress verification | |
CN108509453B (zh) | 一种信息处理方法及装置 | |
CN104750855A (zh) | 一种大数据存储优化方法和装置 | |
US12026071B2 (en) | Method, electronic device and computer program product for storage management | |
CN103034650B (zh) | 一种数据处理系统和方法 | |
US11210212B2 (en) | Conflict resolution and garbage collection in distributed databases | |
CN114398520A (zh) | 数据检索方法、系统、装置、电子设备及存储介质 | |
CN116756177B (zh) | 一种mysql数据库的多表索引维护方法和系统 | |
CN114003660B (zh) | 基于flink的高效同步实时数据到ClickHouse的方法及装置 | |
US11720549B1 (en) | Data stream integrity using blockchain | |
CN116257584A (zh) | 数据同步方法及装置 | |
CN114880297A (zh) | 基于指纹的分布式的数据去重方法及系统 | |
US11055266B2 (en) | Efficient key data store entry traversal and result generation | |
KR20120085375A (ko) | 로그데이터 분석시스템 | |
CN116955416B (zh) | 数据处理方法、系统、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |