MySQL数据库,字符串字段拆分

Posted he0707

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL数据库,字符串字段拆分相关的知识,希望对你有一定的参考价值。

英文姓名存储在一个字段,如何拆分出firstname和lastname

MySQL数据库,字符串字段拆分

英文姓名存储在一个字段
如何拆分出firstname和lastname

查询语句

SELECT REPLACE(name, CONCAT(\' \', SUBSTRING_INDEX(name, \' \', -1)), \'\') AS firstname, SUBSTRING_INDEX(name, \' \', -1) AS lastname
FROM people;

SUBSTRING_INDEX语法

(1)substring_index(string, sep, num),即substring_index(字符串, 分隔符, 序号)
(2)参数说明

  1. string:用于截取目标字符串的字符串。可为字段,表达式等。
  2. sep:分隔符,string存在且用于分割的字符,比如“,”、“.”、“ ”等。
  3. num:序号,为非0整数。若为整数则表示从左到右数,若为负数则从右到左数。比如“www.mysql.com”截取字符‘www’,分割符为“.”,从左到右序号为1,即substring_index("www.mysql.com", \'.\', 1)。若从右开始获取“com”则为序号为-1,即substring_index("www.mysql.com", \'.\', -1)。

mysql 垂直拆分

为什么需要垂直拆分

  • 为了提升数据库性能,可以考虑将 blob 和 text 拆分到单独的表中去

垂直拆分为什么可以提升性能

  • 将 blob, text 这些大字段拆分出去后。mysql 底层存储单页可以存储更多 row 记录(其实也多不了多少, 因为 blob 和 text 字段可能只有前 20 个字段存放在数据页,其它都存放在 行-溢出数据页。或许垂直拆分后只能优化随意写的 select * 语句)

以上是关于MySQL数据库,字符串字段拆分的主要内容,如果未能解决你的问题,请参考以下文章

Mysql某个表有近千万数据,CRUD比较慢,如何优化?

mysql 垂直拆分

mysql 垂直拆分

MySQL 数据库表的垂直拆分

mysql建表时拆分出常用字段和不常用字段

MYSQL表根据列拆分的问题