mysql 中primary keys 什么意思

mysql 中primary keys 什么意思,第1张

primary key就是主键的意思。每张表只允许有一个主键,设置为主键的字段不得为空也不允许有重复值(多字段主键则构成主键的多个字段的组合不得有重复)。主键是保证数据有效性的重要手段之一,它可以唯一标识数据表中的每一条记录,也可以在建立一对多表间关系时为一方表提供参照依据。

如大家所知道的,Mysql目前主要有以下几种索引类型:FULLTEXT,HASH,BTREE,RTREE。

那么,这几种索引有什么功能和性能上的不同呢?

FULLTEXT

即为全文索引,目前只有MyISAM引擎支持。其可以在CREATE TABLE ,ALTER TABLE ,CREATE INDEX 使用,不过目前只有 CHAR、VARCHAR ,TEXT 列上可以创建全文索引。值得一提的是,在数据量较大时候,现将数据放入一个没有全局索引的表中,然后再用CREATE INDEX创建FULLTEXT索引,要比先为一张表建立FULLTEXT然后再将数据写入的速度快很多。

全文索引并不是和MyISAM一起诞生的,它的出现是为了解决WHERE name LIKE “%word%"这类针对文本的模糊查询效率较低的问题。在没有全文索引之前,这样一个查询语句是要进行遍历数据表 *** 作的,可见,在数据量较大时是极其的耗时的,如果没有异步IO处理,进程将被挟持,很浪费时间,当然这里不对异步IO作进一步讲解,想了解的童鞋,自行谷哥。

mysql某张表中有一个字段为json格式,假设字段名为properties {"ocsp.event.append-timestamp.enable": "true","ocsp.streaming.data.filter.expression": "id=e4_json","ocsp.event.enable": "true","ocsp.schema.field.names": "id","ocsp.event.output.numPartitions": "0","ocsp.event.json-format.enable": "true","ocsp.streaming.field.translation.enable": "false","ocsp.event.append-id.enable": "false","ocsp.streaming.data.keys": "id","ocsp.stream.sql": "SELECT id FROM uuu_5dea34758400_oi5xs0rdaf WHERE id=e4_json","ocsp.kafka.topic": "hn_20210216b","ocsp.event.period": "{\"period\":\"day\",\"time\":[{\"begin\":{\"d\":\"0\",\"h\":\"03:30:23\"},\"end\":{\"d\":\"0\",\"h\":\"23:20:23\"}}],\"startDate\":\"2021-02-16\",\"endDate\":\"2021-03-28\"}","ocsp.event.periodSwitch": "true","ocsp.event.output": "5d74080d1ac0" } 现在需要查询ocsp.stream.sql的值 可以使用json_extract函数。注意如果该key是由点分隔符组成的,则需要用双引号将整个key包起来select json_extract(properties,'$. "ocsp.schema.field.names" ') from COMPONENT where type='EVENT' and id='5dea403ed7c0' json_keys函数可以用来获取json中所有的key字段 同时 select json_keys (properties) from COMPONENT where type='EVENT' and id='5dea403ed7c0'


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

原文地址: https://outofmemory.cn/zaji/6133738.html

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

发表评论

登录后才能评论

评论列表(0条)

保存