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

GitHub 上只卖5美元的脚本,却给我带来了一年数十万元报酬

每天只在办公桌前待 10 分钟 根据帖子,该程序员受雇于一家中等规模的律师事务所,职位是 IT 专家,主要处理所有用于审判的电子证据。...这个脚本扫描本地驱动器来查找新的文件,为它们生成哈希值,将它们传输到云上,然后再次生成哈希值以确保真实性(在法庭上,必须证明电子证据没有被篡改)。...然后,他只需每天打卡上班,其他时间就玩玩游戏或想做什么就做什么,下班的时候检查日志以确保一切顺利,然后打卡下班。 如此一来,实际上他每天只在办公桌前待 10 分钟。...“我觉得所有这些类型的帖子教会我的是我需要 1)学习如何编码和 2) 找到一份悠闲的办公室工作。” 获得最多赞同的第一热评则说,“将你的工资看成是自动化程序的订阅服务,哈哈。...而持相反意见的则认为 Etherable 只工作一两小时却收了 40 小时的薪水,每星期都谎报自己完成的工作,刻意加入错误欺骗公司并令同事还要花时间确认其工作等等,这已经是不道德的行为。

33910

MySQL数据类型

选择优化的数据类型 不管存储哪几种类型,以下几个简单的原则都有助于做出更好的选择 更小的通常更好 简单就好 尽量避免null 整数类型 数据类型 存储空间 TINYINT 8位 SMALLINT 16位...因为需要额外的空间和计算开销,所以应该尽量只在对小数进行精确计算时才使用DECIMAL,例如存储财务数据。...CHAR CHAR类型是定长的,适合存储很短的字符串或者所有的值都接近同一个长度。例如非常适合存储密码的MD5值。对于经常变更的列,CHAR比VARCHAR更适合。...备注:使用VARCHAR(5)和VARCHAR(200)存储hello的空间开销是一样的,但是更长的列会消耗更多的内存,因为MySQL通常会分配固定大小的内存块来保存内部值。...总结 本篇文章主要是介绍MySQL常用的数据类型,如有错误或者不准确的地方,欢迎交流。

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

    业务中的字典表的MySQL实现方案

    某些变量在多个地方使用,而且一般固定,但随系统升级和后期变化,可能需要改变,如果这些变量写死在代码里面将会变得难以维护,所以要将其从代码中抽离。...字段名 类型 作用 备注 code varchar 编码 主键 type_code varchar 类型code 外键 name varchar 字典名 展示用 value varchar 字典值...fixed字段,针对固定的字典不提供编辑功能 字典与系统参数不要混为一谈,字典通常用于一类的数据,一组具有相同含义的数值(例如,供客户端下拉选择的枚举);而系统参数是针对某种配置或者某种系统常量的存在...不同场景使用缓存的条件不同,对于高频的数据或者对响应时间要求严格的系统可以增加缓存,但是带来的就是数据改动的同时需要及时更新缓存信息;对于对响应时间、业务要求较高的系统可以不用缓存,保证业务的正确性。...所以,具体情况具体分析,选择适合的。

    3.9K22

    关于mysql的事务,这些你都了解了么?

    下面的实例最终需要结合这些表的记录信息来分析验证,所以我们先看看这些表具体记录了哪些信息,能给我们平时排查问题带来哪些帮助。...该值可能包括实际存在但对事务不可见的删除标记行。...`lock_data` varchar(8192) DEFAULT NULL #与锁相关的数据(如:主键ID值,索引列的值)。如果LOCK_TYPE是RECORD,则显示值,否则显示值NULL。...例如,SELECT c1 FROM t WHERE c1 BETWEEN 10 and 20 FOR UPDATE;阻止其他事务将值15插入列t.c1,无论列 中是否已存在任何此类值,因为该范围中所有现有值之间的间隙都已锁定...收获还是比较大的,对后面分析类似问题有很大的帮助。由于个人能力有限,可能很多地方理解和网上的不一样,主要是带着一种解决自己疑惑的心态去理解的,可能和实际有偏差,欢迎指正。

    26120

    MySQL性能优化(二):选择优化的数据类型

    VARCHAR需要使用1或2个额外的字节来记录字符串的长度(如果字段的最大长度小于或等于255字节,则只使用1个字节表示长度,否则使用2个字节来表示长度)。...在面对TEXT、BLOB之间的选择时,应该根据实际情况选择能够满足需求的最小存储类型,接下来主要针对TEXT、BLOB类型存在的一些常见问题进行介绍。...select语句会变得更慢,是因为逻辑上不相邻的数据会分布在磁盘和内存的不同地方。 随机值会导致缓存对所有类型的查询语句效果很差,因为会使得缓存赖以工作的访问局部性原理失效。...六、总结 在实际开发中,有很多工具会自动生成建表脚本等等,自动生成前期给开发带来了很大的便利,但与此同时却导致严重的性能问题。...在选择数据类型时,把握好“选择原则”,你就成功了一半,其余细节在日常开发接触中慢慢琢磨、留意,选择类型时不要随意、盲目选择就好。 简单归纳如下: 对于字符串类型,最好的策略是只分配真正需要的空间。

    1.4K00

    数据库中存储日期的字段类型到底应该用varchar还是datetime ?

    设置完毕后的效果如下,右下角的时间区域增加了我的名字 “Danny” : ?       以上为背景。没想到这个小技巧给我带来了麻烦(当然也是一次学习和提高的机会)。...在这个过程中,系统判断出从数据库中获取到的值为datetime类型,所以要将获取到的值(比如这里从数据库中获取的时间值为“2014-08-2313:10:14”)转化为本机的时间格式(比如我电脑的时间格式...2、将数据库中存储时间的数据类型改为varchar(),不过这时最好让这些时间是数据库中自动生成的(一个没有格式的输入也可能会导致输出错误),因为存储类型为varchar(),所以获取到的值也就被认为是一个字符串...不过数据库中存储时间的类型如果为字符型也会带来一些麻烦:         数据库中的时间仅仅是用来显示、查找的,那么影响还不算大,但如果对时间字段进行一些算法如计算星期、DateDiff、DateAdd...在 存储的时间将来不需要进行大量计算 的前提下,可以考虑选择varchar类型,反之,选择datetime类型。

    3.9K30

    一千个不用 Null 的理由

    但却都只给结论不说明原因,犹如鸡汤不给勺子一样,让不少初学者对这个结论半信半疑或者云里雾里。本文今天就详细的剖析下使用 Null 的原因,并给出一些不用 Null 的理由。...—— 出自《高性能mysql第二版》 照此分析,还真不是以讹传讹,这是有理论依据和出处的。 3、给我一个不用 Null 的理由?...(1)所有使用NULL值的情况,都可以通过一个有意义的值的表示,这样有利于代码的可读性和可维护性,并能从约束上增强业务数据的规范性。...注意:但把NULL列改为NOT NULL带来的性能提示很小,除非确定它带来了问题,否则不要把它当成优先的优化措施,最重要的是使用的列的类型的适当性。...-- 4、如果有 Null column 存在的情况下,count(Null column)需要格外注意,null 值不会参与统计。

    1.2K60

    varchar与char的转换_character with byte sequence

    1个字节,对一个汉字占用2个字节 Varchar 的类型不以空格填满,比如varchar(100),但它的值只是”n”,则它的值就是”n” 而char 不一样,比如char(100),它的值是”n”,而实际上它在数据库中是...(与sql server可能有些不同) Varchar在保存的时候,不进行填充。当值保存和检索时尾部的空格仍保留。 TEXT列不能有默认值,存储或检索过程中,不存在大小写转换....注意一点的,Char,Varchar不像数值类型,有系统默认长度,所以必须在括号里定义长度,可以有默认值 text不可以写默认值,后面如果指定长度,不会报错误,但是这个长度是不起作用的,意思就是你插入数据的时候...经常变化的字段用varchar 知道固定长度的用char 尽量用varchar 超过255字节的只能用varchar或者text 能用varchar的地方不用text 建表时IP字段设成了varchar...这样做的原因如下: ■ 行定长的表比行可变长的表容易处理(其理由请参阅2 . 3节“选择列的类型”)。 ■ 表行只在表中所有行为定长类型时是定长的。

    1.4K30

    【MySQL】DDL和DML

    为了避免上面的错误,在创建数据库的时候先做判断,如果不存在再创建。...只包含年月日 eg :birthday date : datetime : 混合日期和时间值。包含年月日时分秒 字符串 char : 定长字符串。...那么有没有刚好的工具提供给我们进行使用呢? 有。 6.1 navicat概述 Navicat for MySQL 是管理和开发 MySQL 或 MariaDB 的理想解决方案。...第一步: 点击连接,选择MySQL 第二步:填写连接数据库必要的信息 以上操作没有问题就会出现如下图所示界面: 6.3.2 操作 连接成功后就能看到如下图界面: 修改表结构 通过下图操作修改表结构...(值1,值2,…),(值1,值2,…),(值1,值2,…)…; 练习 为了演示以下的增删改操作是否操作成功,故先将查询所有数据的语句介绍给大家: select * from stu; -- 给指定列添加数据

    23830

    MySQL 一千个不用 NULL 的理由

    但却都只给结论不说明原因,犹如鸡汤不给勺子一样,让不少初学者对这个结论半信半疑或者云里雾里。本文今天就详细的剖析下使用 Null 的原因,并给出一些不用 Null 的理由。...—— 出自《高性能mysql第二版》 照此分析,还真不是以讹传讹,这是有理论依据和出处的。 3、给我一个不用 Null 的理由?...所有使用NULL值的情况,都可以通过一个有意义的值的表示,这样有利于代码的可读性和可维护性,并能从约束上增强业务数据的规范性。...注意:但把NULL列改为NOT NULL带来的性能提示很小,除非确定它带来了问题,否则不要把它当成优先的优化措施,最重要的是使用的列的类型的适当性。...-- 4、如果有 Null column 存在的情况下,count(Null column)需要格外注意,null 值不会参与统计。

    10710

    MySQL数据库设计规范

    规范六,为了切换后可以正常工作,无论主备,相同的表需要使用相同的引擎。 相同的表在主备架构下,可以使用不同的引擎来获得更好的性能,但是给管理带来复杂性,也给业务带来隐患。...text 和 lob在行内只存储指针,实际数据是在行外单独存储的。使用这些数据类型,查询时需要更多的IO。...甚至还有可能原来可以在内存执行的排序变为磁盘排序。 规范十四,字段实际值遵循最小化原则,在满足业务需求的前提下,选择最合适的数据类型,写入最少的数据。...增加字段会带来额外的资源消耗,但考虑到它可能带来的好处,还是值得添加的。 规范二十,对于可能出现的 where条件中的字段,尽量设置为非空(notnull)。...规范二十五,如果一个业务上存在多个(组)唯一键,以查询最常用的唯一键作为主键。 规范二十六,索引会降低 DML 的性能,不是越多越好,只创建需要的索引,避免冗余索引。

    2.4K20

    高性能MySQL (一):Schema与数据类型优化

    但是要确保没有低估需要存储的值的范围,因为在schema中的多个地方增加数据类型的范围是一个非常耗时和痛苦的操作。如果无法确定哪个数据类型是最好的,就选择你认为不会超过范围的最小类型。...VARCHAR需要使用1或2个额外字节记录字符串的长度:如果列的最大长度小于或等于255字节,则只使用1个字节表示,否则使用2个字节。 VARCHAR节省了存储空间,所以对性能也有帮助。...枚举最不好的地方是,字符串列表是固定的,添加或删除字符串必须使用ALTER TABLE。除非能接受只在列表末尾添加元素,否则使用枚举不是个好主意。...TIMESTAMP只使用4个字节的存储空间,因此它的范围比DATETIME小得多:只能表示从1970年到2038年。 TIMESTAMP显示的值也依赖于时区。...因为下面这些原因,范式化通常能够带来好处: 范式化的更新操作通常比反范式化要快。 当数据较好地范式化时,就只有很少或者没有重复数据,所以只需要修改更少的数据。

    1.1K40

    你可能会忽视的 MySQL 细节

    这里需要特别注意的是 MyISAM 只缓存索引文件,并不缓存数据文件。...CHAR 和 VARCHAR 的选择 char 和 varchar 是我们经常要用到的两个存储字符串的数据类型,char 一般存储定长的字符串,它属于固定长度的字符类型,比如下面 值 char(5) 存储字节...' 'cxuan' 6个字节 可以看到,如果使用 varchar 的话,那么存储的字节将根据实际的值进行存储。...合成索引就是根据大文本(BLOB 和 TEXT)字段的内容建立一个散列值,把这个值存在对应列中,这样就能够根据散列值查找到对应的数据行。...自从 ASCII 编码后,每个国家、国际组织都研究了一套自己的字符集,比如 ISO-8859-1、GBK 等。 但是每个国家都使用自己的字符集为移植性带来了很大的困难。

    52230

    Postgresql 隐式转换 -- 数据库也来一次 “中保研”

    作为一个未来更自由和先进的数据库,部分(传统)企业会选择一种理想的数据库及原型,别的数据库遇到的问题,在POSTGRESQL 存在吗,那如何注意,实际上隐式转换会给我们使用POSTGRESQL 带来什么影响这是需要了解和清楚的...(不建议使用char类型,原因请参见之前的文字) 目前postgresql 存储的数据的字符类型主要有三种 varchar char 和 text 1 先看一下这三种类型的隐式转换是否存在,如果存在并且给错对应的类型会有什么结果...,我们开始下一步的探索实验 1 char 的类型如果接受到varchar 的字符还是否可以走索引 (info 为 char , info2 varchar, info3 text) ?...char 的字段接受 varchar 的类型是可以走索引的 char 的字段接受本身的类型是可以走索引的 char 的字段接受text 是不可以走索引 2 作为常用的varchar 字段类型,在接受不同的类型会有什么反应...是不存在的,也就是你使用char , varchar ,text 存储大小相同的字符类型的时候,除了char 的性能可能会稍微低一些,varchar , text 是不会有性能上的差别(同等字符量上,

    1.1K20

    一千个不用 Null 的理由

    但却都只给结论不说明原因,犹如鸡汤不给勺子一样,让不少初学者对这个结论半信半疑或者云里雾里。本文今天就详细的剖析下使用 Null 的原因,并给出一些不用 Null 的理由。...—— 出自《高性能mysql第二版》 照此分析,还真不是以讹传讹,这是有理论依据和出处的。 3、给我一个不用 Null 的理由?...(1)所有使用NULL值的情况,都可以通过一个有意义的值的表示,这样有利于代码的可读性和可维护性,并能从约束上增强业务数据的规范性。...注意:但把NULL列改为NOT NULL带来的性能提示很小,除非确定它带来了问题,否则不要把它当成优先的优化措施,最重要的是使用的列的类型的适当性。...-- 4、如果有 Null column 存在的情况下,count(Null column)需要格外注意,null 值不会参与统计。

    50410

    MySQL5.7.14-下载安装教程-->MySQL数据库语句详细教程

    –>选择对应的系统和电脑版本(在这里,我选择的是Window系统64位的下载) ? ? –>No thanks, just start my download. ?...DDL – 数据定义语言Data Definition Language 建库、建表、设置约束等: create\drop\alter 里面有一个需要注意的地方:就是char和vaechar的区别;...数据类型的知识点: char和varchar都可以用来定义字符类型的字段,区别: char(15) —固定长度15,如果赋值时只赋一个字符’a’,那么里面数据是:1个字符’a’ 加 14个空格...—比较类似Java当中的字符数组。 varchar(15)—-可变长的char数组,如果赋值时只赋一个字符’a’,那么里面数据就只有一个字符’a’。...—比较类似Java当中的String 如果有些情况,我们确定了某个参数的值肯定是那么长的,就可以用char。

    1.3K10

    数据库设计原则

    ,所有的非主键字段均需依赖于主键字段; 第三范式:冗余性约束,非主键字段间不能相互依赖; 数据库设计原则 完整性: not null声明禁止插入空值; check子句限制属性域; 去冗余: 避免冗余属性...,冗余属性会带来数据不一致性; 学生选课系统中,老师可以开课、学生可以选课,数据库设计中,课程可以由课程编号和课程名称等确定; 如果现在维护两个表,一个表A存储课程信息(课程编号、名称、简介、学分、院系等...; 解耦合: 一个表只存储它应该存储的信息,和此表无关的信息放到另一个表去存储,表之间尽量解耦; 上面的例子中,A中存储且只存储面向课程的信息,另外有表C,存储且只存储面向学生的信息(学号、姓名、性别、...,这是一种容易引起歧义的命名; 数据库的名词要一致,不能在这个地方叫一个名字,到另外一个表又叫另外一个名字; 一般来说,Table命名用单数,Column命名用单数; Table不用Prefix前缀来表示不同的组...,空间不是问题,清晰才是重点; 不要过早优化,先把东西做出来再说,遇到性能问题再去优化; 对于varchar类型的字段,当字符串并不是非常明确到底限制是多少的时候,通常选择255这个长度,varchar

    99360

    Oracle 20c 新特性详解:SQL Macro 宏 SCALAR TABLE 模式带来的敏捷和便利

    墨墨导读:在 Oracle 20c 中,SQL的宏支持 - SQL Macro 为 SQL 开发带来了进一步的敏捷和便利,在这篇文章中,我们来详细了解一下 SQL Macro 的特性用法。...• 查询中使用的表固定在宏的定义内; • 传递参数以从那些表中选择行; • 返回的查询的“形状”(通常)是固定的; • 参数化视图的常见用法是,当使用标量参数选择行的子集然后进行聚合时 ?...• 具有一个或多个表参数的表值宏 –还可以具有标量值的参数! • 输入表在宏返回的查询中使用。 • 示例:反选择 where 条件......–第一行的值优先 –每个后续行的值将比上一行的值多一步 • 这些宏的语义是在Python的内置range()函数之后建模的 – PL / SQL程序包 – PL / SQL程序包主体 以下是一个范围处理的范例...最后总结一下 SQL Macro 的意义: • SQL宏提供了一个基于SQL的简单框架,用于封装业务/技术逻辑 –无需在查询中调用自定义PL / SQL过程和函数 • 可以在SQL语句内的任何地方使用;

    2.1K20

    MySQL优化指南

    当修改VARCHAR型字段时,尽量使用相同长度内容的值代替。尽量最小化对于含有UPDATE触发器的表的UPDATE操作。避免UPDATE将要复制到其他数据库的列。 避免UPDATE建有很多索引的列。...浮点数存在误差问题; 对货币等对精度敏感的数据,应该用定点数表示或存储; 编程中,如果用到浮点数,要特别注意误差问题,并尽量避免做浮点数比较; 要注意浮点数中一些特殊值的处理。...效率来说基本是char>varchar>text,但是如果使用的是Innodb引擎的话,推荐使用varchar代替char,char和varchar可以有默认值,text不能指定默认值 固定精度的小数,...也不建议使用DECIMAL 建议乘以固定倍数转换成整数存储,可以大大节省存储空间,且不会带来任何附加维护成本。...,因为现在只在一个地方集中处理SQL。

    94020
    领券