首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何生成比较像样的假数据

已经做好了一个系统,并且上线给部分客户使用了,现在要将该系统推广到所有的客户,所以需要做一个虚拟客户的系统,系统中需要有许多像样的数据,但是由于保密方面的原因,原有客户的数据必须经过处理,不能出现真实的信息...系统开发完成了,需要制造大量的假数据,以进行压力测试,看在有几百万上千万数据量的情况下的系统性能。...对于第一种情况,可以将其他系统中的对应实体表的数据导入到Demo环境中,然后再进行混淆交叉。 我们可以将系统中的数据分为:数字、日期和字符串3种类型分别进行混淆。...然后将产生的两个字段存入临时表,用两个临时表进行交叉联接,得到两个字段的所有组合,然后再随机选出一定条数的数据,用选出的随机数据将原有数据替换即可。 示例 以一个HR系统为例。...中文姓名以第一个字为A列,剩下的字尾B列,英文名以第一个单词为A列,剩下的单词为B列,将拆分的数据存入临时表,具体SQL语句如下: select SUBSTRING(Name,1,1) A,SUBSTRING

1.2K30

MySQL数据库开发规范知识点速查

,因为更新后就涉及对索引顺序的修改,频繁更新会导致频繁调整,导致降低性能 不使用UUID,md5,hash字符串作为主键,因为这类哈希不保证插入时递增的特性 建议:使用自增ID值 在哪建立索引?...覆盖索引:包含了所有查询字段的索引 避免Innodb表进行索引的二次查找 可以把随机IO变为顺序IO加快查询效率 尽量避免使用外键 外键是用于保证数据的参照完整性,但建议在业务端实现。...避免使用 ENUM数据类型 修改 ENUM值会导致表结构的修改 ENUM的 ORDER BY需要额外操作,效率低 禁止使用数值作为ENUM的枚举值 尽可能把所有列定义为 NOT NULL 索引 NULL...代替 OR IN的值不超过500个 IN的操作可以有效的利用索引 禁止使用 ORDER BY rand()进行随机排序 会加载到内存再排序,消耗大量CPU和IO和内存 建议:在程序中生成随机值,再获取数据...禁止在 WHERE从句中队列进行函数转换和计算 导致无法使用索引 明显不会有重复值的用 UNION ALL而不是 UNION UNION会把所有数据放到临时表中后再进行去重操作 UNION ALL则不会做去重操作

1.5K110
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Python 密码破解指南:5~9

    381Q.2yQ 通过改变存储在SYMBOLS中的字符串以包含更多的字符,程序也将对它们进行加密,因为在第 23 行,条件symbol in SYMBOLS将是True。...因为列的数量等于密钥的数量,所以可以使用列表复制将一个包含一个空字符串值的列表乘以key中的值。这就是第 23 行如何计算出包含正确数量的空白字符串的列表。字符串值将被分配到网格的一列中的所有字符。...这样,您可以将列表中的所有字符串连接在一起,以返回'Common sense is not so common.'字符串值。...我们将使用伪随机数为我们的测试程序生成测试字符串。...接下来,shuffle()将message中的项目顺序随机化。然后程序使用join()字符串方法将字符串列表转换回字符串值。这种对message字符串的混排允许我们测试许多不同的消息。

    2.3K50

    值得收藏:一份非常完整的 MySQL 规范

    ,并且最后不要超过32个字符 · 临时库表必须以tmp_为前缀并以日期为后缀,备份表必须以bak_为前缀并以日期(时间戳)为后缀 · 所有存储相同数据的列名和列类型必须一致(一般作为关联列,如果查询时关联列类型不一致会自动进行数据类型隐式转换...不要使用更新频繁的列作为主键,不适用多列主键(相当于联合索引) 不要使用UUID、MD5、HASH、字符串列作为主键(无法保证数据的顺序增长)。 主键建议使用自增ID值。...12、禁止使用order by rand() 进行随机排序 会把表中所有符合条件的数据装载到内存中,然后在内存中对所有数据根据随机生成的值进行排序,并且可能会对每一行都生成一个随机值,如果满足条件的数据集非常大...推荐在程序中获取一个随机值,然后从数据库中获取数据的方式 13、WHERE从句中禁止对列进行函数转换和计算 对列进行函数转换或计算时会导致无法使用索引。 · 不推荐: ? · 推荐: ?...14、在明显不会有重复值时使用UNION ALL而不是UNION · UNION会把两个结果集的所有数据放到临时表中后再进行去重操作 · UNION ALL不会再对结果集进行去重操作 15、拆分复杂的大

    97330

    值得收藏:一份非常完整的 MySQL 规范

    ,通常会进行大量的随机IO操作,文件很大时,IO操作很耗时 通常存储于文件服务器,数据库只存储文件地址信息 9、禁止在线上做数据库压力测试 10、禁止从开发环境,测试环境直接连接生成环境数据库 三、数据库字段设计规范...3、避免使用ENUM类型 · 修改ENUM值需要使用ALTER语句 · ENUM类型的ORDER BY操作效率低,需要额外操作 · 禁止使用数值作为ENUM的枚举值 4、尽可能把所有列定义为NOT NULL...不要使用更新频繁的列作为主键,不适用多列主键(相当于联合索引) 不要使用UUID、MD5、HASH、字符串列作为主键(无法保证数据的顺序增长)。 主键建议使用自增ID值。...12、禁止使用order by rand() 进行随机排序 会把表中所有符合条件的数据装载到内存中,然后在内存中对所有数据根据随机生成的值进行排序,并且可能会对每一行都生成一个随机值,如果满足条件的数据集非常大...推荐在程序中获取一个随机值,然后从数据库中获取数据的方式 13、WHERE从句中禁止对列进行函数转换和计算 对列进行函数转换或计算时会导致无法使用索引。

    76230

    值得收藏:一份非常完整的 MySQL 规范

    ,通常会进行大量的随机IO操作,文件很大时,IO操作很耗时 通常存储于文件服务器,数据库只存储文件地址信息 9、禁止在线上做数据库压力测试 10、禁止从开发环境,测试环境直接连接生成环境数据库 三、数据库字段设计规范...不要使用更新频繁的列作为主键,不适用多列主键(相当于联合索引) 不要使用UUID、MD5、HASH、字符串列作为主键(无法保证数据的顺序增长)。 主键建议使用自增ID值。...12、禁止使用order by rand() 进行随机排序 会把表中所有符合条件的数据装载到内存中,然后在内存中对所有数据根据随机生成的值进行排序,并且可能会对每一行都生成一个随机值,如果满足条件的数据集非常大...推荐在程序中获取一个随机值,然后从数据库中获取数据的方式 13、WHERE从句中禁止对列进行函数转换和计算 对列进行函数转换或计算时会导致无法使用索引。 · 不推荐: ? · 推荐: ?...14、在明显不会有重复值时使用UNION ALL而不是UNION · UNION会把两个结果集的所有数据放到临时表中后再进行去重操作 · UNION ALL不会再对结果集进行去重操作 15、拆分复杂的大

    90130

    11条MySQL规范,你知道的有几个?

    ,并且最后不要超过32个字符 · 临时库表必须以tmp_为前缀并以日期为后缀,备份表必须以bak_为前缀并以日期(时间戳)为后缀 · 所有存储相同数据的列名和列类型必须一致(一般作为关联列,如果查询时关联列类型不一致会自动进行数据类型隐式转换...3、避免使用ENUM类型 · 修改ENUM值需要使用ALTER语句 · ENUM类型的ORDER BY操作效率低,需要额外操作 · 禁止使用数值作为ENUM的枚举值 4、尽可能把所有列定义为NOT NULL...不要使用更新频繁的列作为主键,不适用多列主键(相当于联合索引) 不要使用UUID、MD5、HASH、字符串列作为主键(无法保证数据的顺序增长)。 主键建议使用自增ID值。...12、禁止使用order by rand() 进行随机排序 会把表中所有符合条件的数据装载到内存中,然后在内存中对所有数据根据随机生成的值进行排序,并且可能会对每一行都生成一个随机值,如果满足条件的数据集非常大...推荐在程序中获取一个随机值,然后从数据库中获取数据的方式 13、WHERE从句中禁止对列进行函数转换和计算 对列进行函数转换或计算时会导致无法使用索引。

    68740

    T-SQL语句的基本概念语法

    :用户自定义的变量,变量名以@开头           set @变量名=数值           以查询结果为值 全部变量:系统提供,以@@开头,只读的,也就是由系统赋值,我们取值          ...,改善数据库性能 类型: 唯一索引(Unique):不允许两行具有相同的索引值 主键索引:为表定义一个主键将自动创建主键索引,主键索引是唯一的特殊类型,主键索引要求主键中的每个值是唯一的,并且不能为空...减少网络流量 触发器(Trigger)是在对表进行插入、更新或删除操作时自动执行的存储过程 在触发器触发时:系统自动在内存中创建两张临时表,deleted表或insert表 这两张表为只读,不允许修改...,触发器执行完成后,自动删除 inserted表:     临时保存了插入或更新后的记录行,可以从inserted表中检查插入的数据是否满足业务需求,如果不满足,则向用户报告错误,并回滚插入操作 deleted...表:     临时保存了删除或更新前的记录行,可以从表中检查被删除的数据是否满足业务需求,如果不满足,则向用户报告错误,并回滚插入操作

    1.4K20

    关于Mysql高性能优化规范的一点建议

    ,并且最后不要超过32个字符 临时库表必须以tmp_为前缀并以日期为后缀,备份表必须以bak_为前缀并以日期(时间戳)为后缀 所有存储相同数据的列名和列类型必须一致(一般作为关联列,如果查询时关联列类型不一致会自动进行数据类型隐式转换...Innodb是按照主键索引的顺序来组织表的 不要使用更新频繁的列作为主键,不适用多列主键(相当于联合索引) 不要使用UUID,MD5,HASH,字符串列作为主键(无法保证数据的顺序增长) 主键建议使用自增...禁止使用order by rand() 进行随机排序 order by rand()会把表中所有符合条件的数据装载到内存中,然后在内存中对所有数据根据随机生成的值进行排序,并且可能会对每一行都生成一个随机值...推荐在程序中获取一个随机值,然后从数据库中获取数据的方式。 13....在明显不会有重复值时使用UNION ALL 而不是UNION UNION 会把两个结果集的所有数据放到临时表中后再进行去重操作 UNION ALL 不会再对结果集进行去重操作 15.

    1K20

    一份完整的 MySQL 开发规范,进大厂必看!

    ,通常会进行大量的随机IO操作,文件很大时,IO操作很耗时 通常存储于文件服务器,数据库只存储文件地址信息 9、禁止在线上做数据库压力测试 10、禁止从开发环境,测试环境直接连接生成环境数据库 三、数据库字段设计规范...3、避免使用ENUM类型 1、修改ENUM值需要使用ALTER语句 2、ENUM类型的ORDER BY操作效率低,需要额外操作 3、禁止使用数值作为ENUM的枚举值 4、尽可能把所有列定义为NOT NULL...不要使用更新频繁的列作为主键,不适用多列主键(相当于联合索引) 不要使用UUID、MD5、HASH、字符串列作为主键(无法保证数据的顺序增长)。 主键建议使用自增ID值。...12、禁止使用order by rand() 进行随机排序 会把表中所有符合条件的数据装载到内存中,然后在内存中对所有数据根据随机生成的值进行排序,并且可能会对每一行都生成一个随机值,如果满足条件的数据集非常大...推荐在程序中获取一个随机值,然后从数据库中获取数据的方式 13、WHERE从句中禁止对列进行函数转换和计算 对列进行函数转换或计算时会导致无法使用索引。

    84320

    Jmeter(二十三) - 从入门到精通 - JMeter函数 - 上篇(详解教程)

    调出函数面板,我们在“值”中输入的是两个字符串相加,然后点击“生成”按钮,就会生成一串以$开头的表达式,表达式在请求(Sampler)中可以直接调用。...__regexFunction还可以被用来保存值,以便供后续使用。在函数的第6个参数中,测试人员可以指定一个引用名。在函数执行以后,测试人员可以使用用户定义值的语法来获取同样的值。...当线程首先引用文件时,它将在数组中分配下一个空闲行,因此每个线程将访问与所有其他线程不同的行(除非数组中的线程多于行)。...2、参数 参数描述是否必填 文件名 要读取的文件名 是 列号 文件中的列号。0–第一列,1–第二列,next–文件的下一行。...是 3、示例 读取文件中的第1行第1列: ${__CSVRead(random.txt,0)} 读取文件中的第1行第2列,并进入文件下一行: ${__CSVRead(random.txt,1)

    9.2K20

    面试官:你对MySQL高性能优化有什么规范建议?

    并且最后不要超过32个字符 临时库表必须以tmp_为前缀并以日期为后缀,备份表必须以bak_为前缀并以日期(时间戳)为后缀 所有存储相同数据的列名和列类型必须一致(一般作为关联列,如果查询时关联列类型不一致会自动进行数据类型隐式转换...Innodb是按照主键索引的顺序来组织表的 不要使用更新频繁的列作为主键,不适用多列主键(相当于联合索引) 不要使用UUID,MD5,HASH,字符串列作为主键(无法保证数据的顺序增长) 主键建议使用自增...禁止使用order by rand() 进行随机排序 order by rand()会把表中所有符合条件的数据装载到内存中,然后在内存中对所有数据根据随机生成的值进行排序,并且可能会对每一行都生成一个随机值...推荐在程序中获取一个随机值,然后从数据库中获取数据的方式。 13....在明显不会有重复值时使用UNION ALL 而不是UNION UNION 会把两个结果集的所有数据放到临时表中后再进行去重操作 UNION ALL 不会再对结果集进行去重操作 15.

    50210

    Mysql高性能优化规范建议

    并且最后不要超过32个字符 临时库表必须以tmp_为前缀并以日期为后缀,备份表必须以bak_为前缀并以日期(时间戳)为后缀 所有存储相同数据的列名和列类型必须一致(一般作为关联列,如果查询时关联列类型不一致会自动进行数据类型隐式转换...Innodb是按照主键索引的顺序来组织表的 不要使用更新频繁的列作为主键,不适用多列主键(相当于联合索引) 不要使用UUID,MD5,HASH,字符串列作为主键(无法保证数据的顺序增长) 主键建议使用自增...禁止使用order by rand() 进行随机排序 order by rand()会把表中所有符合条件的数据装载到内存中,然后在内存中对所有数据根据随机生成的值进行排序,并且可能会对每一行都生成一个随机值...推荐在程序中获取一个随机值,然后从数据库中获取数据的方式。 13....在明显不会有重复值时使用UNION ALL 而不是UNION UNION 会把两个结果集的所有数据放到临时表中后再进行去重操作 UNION ALL 不会再对结果集进行去重操作 15.

    1.1K30

    MySQL高性能优化规范建议,值得收藏

    尽可能把所有列定义为 NOT NULL 原因: 索引 NULL 列需要额外的空间来保存,所以要占用更多的空间 进行比较和计算时要对 NULL 值做特别的处理 5....Innodb 是按照主键索引的顺序来组织表的 •不要使用更新频繁的列作为主键,不适用多列主键(相当于联合索引)•不要使用 UUID,MD5,HASH,字符串列作为主键(无法保证数据的顺序增长)•主键建议使用自增...禁止使用 order by rand() 进行随机排序 order by rand() 会把表中所有符合条件的数据装载到内存中,然后在内存中对所有数据根据随机生成的值进行排序,并且可能会对每一行都生成一个随机值...推荐在程序中获取一个随机值,然后从数据库中获取数据的方式。 13....在明显不会有重复值时使用 UNION ALL 而不是 UNION •UNION 会把两个结果集的所有数据放到临时表中后再进行去重操作•UNION ALL 不会再对结果集进行去重操作 15.

    1.2K41

    史上最全的MySQL高性能优化规范建议

    ,并且最后不要超过32个字符 临时库表必须以tmp_为前缀并以日期为后缀,备份表必须以bak_为前缀并以日期(时间戳)为后缀 所有存储相同数据的列名和列类型必须一致(一般作为关联列,如果查询时关联列类型不一致会自动进行数据类型隐式转换...Innodb是按照主键索引的顺序来组织表的,不要使用更新频繁的列作为主键,不适用多列主键(相当于联合索引)。不要使用UUID,MD5,HASH,字符串列作为主键(无法保证数据的顺序增长)。...11)对应同一列进行or判断时,使用in代替or in 的值不要超过500个 in 操作可以更有效的利用索引,or大多数情况下很少能利用到索引 12)禁止使用order by rand() 进行随机排序...会把表中所有符合条件的数据装载到内存中,然后在内存中对所有数据根据随机生成的值进行排序,并且可能会对每一行都生成一个随机值,如果满足条件的数据集非常大,就会消耗大量的CPU和IO及内存资源。...推荐在程序中获取一个随机值,然后从数据库中获取数据的方式。 13)WHERE从句中禁止对列进行函数转换和计算 对列进行函数转换或计算时会导致无法使用索引。

    1.6K20

    MySQL高性能优化规范建议,速度收藏

    ,并且最后不要超过 32 个字符•临时库表必须以 tmp_为前缀并以日期为后缀,备份表必须以 bak_为前缀并以日期 (时间戳) 为后缀•所有存储相同数据的列名和列类型必须一致(一般作为关联列,如果查询时关联列类型不一致会自动进行数据类型隐式转换...Innodb 是按照主键索引的顺序来组织表的 •不要使用更新频繁的列作为主键,不适用多列主键(相当于联合索引)•不要使用 UUID,MD5,HASH,字符串列作为主键(无法保证数据的顺序增长)•主键建议使用自增...禁止使用 order by rand() 进行随机排序 order by rand() 会把表中所有符合条件的数据装载到内存中,然后在内存中对所有数据根据随机生成的值进行排序,并且可能会对每一行都生成一个随机值...推荐在程序中获取一个随机值,然后从数据库中获取数据的方式。 13....在明显不会有重复值时使用 UNION ALL 而不是 UNION •UNION 会把两个结果集的所有数据放到临时表中后再进行去重操作•UNION ALL 不会再对结果集进行去重操作 15.

    76020

    一份完整的 MySQL 开发规范,进大厂必看!

    ,通常会进行大量的随机IO操作,文件很大时,IO操作很耗时 通常存储于文件服务器,数据库只存储文件地址信息 9、禁止在线上做数据库压力测试 10、禁止从开发环境,测试环境直接连接生成环境数据库 三、数据库字段设计规范...3、避免使用ENUM类型 1、修改ENUM值需要使用ALTER语句 2、ENUM类型的ORDER BY操作效率低,需要额外操作 3、禁止使用数值作为ENUM的枚举值 4、尽可能把所有列定义为NOT NULL...不要使用更新频繁的列作为主键,不适用多列主键(相当于联合索引) 不要使用UUID、MD5、HASH、字符串列作为主键(无法保证数据的顺序增长)。 主键建议使用自增ID值。...12、禁止使用order by rand() 进行随机排序 会把表中所有符合条件的数据装载到内存中,然后在内存中对所有数据根据随机生成的值进行排序,并且可能会对每一行都生成一个随机值,如果满足条件的数据集非常大...推荐在程序中获取一个随机值,然后从数据库中获取数据的方式 13、WHERE从句中禁止对列进行函数转换和计算 对列进行函数转换或计算时会导致无法使用索引。

    1.4K20

    这是我见过最有用的Mysql面试题,面试了无数公司总结的(内附答案)

    存储过程是已创建并存储在数据库中以执行特定任务的SQL语句的集合。 该存储过程接受输入参数并对其进行处理,并返回单个值, 例如数字或文本值或结果集(行集)。 55.什么是扳机?...()–从字符串开头删除所有空格 RTRIM()–删除字符串末尾的所有空格 CONCAT()–串联函数将多个字符串组合在一起 REPLACE()–更新字符串的内容。...它涉及更新数据库中的记录并在前端进行验证。 104. GUI测试和数据库测试有什么区别? GUI测试是AKA用户界面测试或前端测试。 数据库测试是AKA后端测试或数据测试。...GUI测试处理向用户开放以进行交互的所有可测试项目,例如菜单,窗体等。 数据库测试处理通常对用户隐藏的所有可测试项目。...它验证架构,数据库表,列,索引,存储过程,触发器,数据重复,孤立记录,垃圾记录。它涉及更新数据库中的记录并在前端进行验证。

    27.1K20

    MySQL 高性能优化规范建议

    ,并且最后不要超过 32 个字符 临时库表必须以 tmp_为前缀并以日期为后缀,备份表必须以 bak_为前缀并以日期 (时间戳) 为后缀 所有存储相同数据的列名和列类型必须一致(一般作为关联列,如果查询时关联列类型不一致会自动进行数据类型隐式转换...Innodb 是按照主键索引的顺序来组织表的 不要使用更新频繁的列作为主键,不适用多列主键(相当于联合索引) 不要使用 UUID,MD5,HASH,字符串列作为主键(无法保证数据的顺序增长) 主键建议使用自增...禁止使用 order by rand() 进行随机排序 order by rand() 会把表中所有符合条件的数据装载到内存中,然后在内存中对所有数据根据随机生成的值进行排序,并且可能会对每一行都生成一个随机值...推荐在程序中获取一个随机值,然后从数据库中获取数据的方式。 13....在明显不会有重复值时使用 UNION ALL 而不是 UNION UNION 会把两个结果集的所有数据放到临时表中后再进行去重操作 UNION ALL 不会再对结果集进行去重操作 15.

    49410

    今儿聊一聊Mysql的性能优化

    ,需要将其用单引号括起来) 数据库对象的命名要能做到见名识意,并且最后不要超过32个字符 临时库表必须以tmp_为前缀并以日期为后缀,备份表必须以bak_为前缀并以日期(时间戳)为后缀 所有存储相同数据的列名和列类型必须一致...Innodb是按照主键索引的顺序来组织表的 不要使用更新频繁的列作为主键,不适用多列主键(相当于联合索引) 不要使用UUID,MD5,HASH,字符串列作为主键(无法保证数据的顺序增长) 主键建议使用自增...禁止使用order by rand() 进行随机排序 order by rand()会把表中所有符合条件的数据装载到内存中,然后在内存中对所有数据根据随机生成的值进行排序,并且可能会对每一行都生成一个随机值...推荐在程序中获取一个随机值,然后从数据库中获取数据的方式。 13....在明显不会有重复值时使用UNION ALL 而不是UNION UNION 会把两个结果集的所有数据放到临时表中后再进行去重操作 UNION ALL 不会再对结果集进行去重操作 15.

    63570
    领券