本文主要讨论这几个问题: Mongo shell中使用大整数字面量 片键使用自增长字段 程序里游标循环迭代过程中进行长时间的操作 滥用数组类型 滥用upsert更新参数 错误的设计索引 错误的认为复制等于备份...1 Mongo shell中使用大整数字面量,但默认整数字面量类型却是双精度浮点数,导致丢失精度 问题描述: 通过mongo shell插入或更新一个大整数(长度约大于等于16位数字)时,例如: ?...所以当我们在mongo shell中直接使用整数字面量时,实际上它是以double表示的,而当这个整数字面量大约超过16位数字时,就可能发生有些整数无法精确表示的情况,只能使用一个接近能表示的整数来替代...因此当片键是自增长类型时,插入的数据实际上都是落在一个Chunk存储的范围内,导致所有写入请求都路由到这个Chunk所在的分片,从而导致这个节点成为写热点,写负载不能均衡的分担到集群中的多个分片节点,从而丧失了通过分片集群横向扩展写性能的意义...检查我们设计的索引是否有重复索引、无用索引,是否缺失索引。比如复合索引已经能覆盖某些单字段索引。业务查询调整等原因,有些索引已经不再使用。通过慢查询日志,发现有些查询没有索引,严重影响系统性能。
小明:哪位大哥能帮忙看下这个问题吗?为什么数据还是不能插入? 小明:[一张图] 小白:有大佬在么?关于xx有人会么? 小明:[一张图] 或者 [一小段代码] 小明:这个为啥报错啊?...归更到底,是你不会提问,总是零散的提问、不愿一次性描述问题发生的场景、已经做过哪些排查等等。所以,才有了大家的各种猜测、推断,最终浪费了别人的时间,回答的可能却不是你想要的结果。...认真地思考,准备好你的问题。轻率的提问只能得到轻率的回答,或者压根没有。在提问时,你越是表现出在此前做过思考与努力去解决自己的问题,你越有可能得到真正的帮助。 注意别提错问题。...我的这段代码运行不了,谁能帮我看看啊! 明智的提问: 各位,我下面这段代码是这样写的,理论上运行的结果应该是xx,可是现在却运行不了。...我通过Debug调试也没有发现啥异常,有人能帮我看看或者给个思路么? 2.2 清楚表达你的问题 清楚、良好地表达你的问题非常重要。花点额外的精力斟酌一下提问字句,确保别人能够看得懂。
5、外键索引:只有InnoDB类型的表才可以使用外键索引,保证数据的一致性、完整性和实现级联操作。...MySql 的主键最好是自增的,如果使用 UUID 这种,每次插入都会调整 B+树,从而导致页分裂,严重影响性能。...锁机制 关于 Mysql 的锁,各种概念就会喷涌而出,事实上,锁有好几种维度,我们来解释一下。 1....默认的读操作,上锁吗? 默认是 MVCC 机制(“一致性非锁定读”)保证 RR 级别的隔离正确性,是不上锁的。...四个特性,最重要的就是一致性。而一致性由原子性,隔离性,持久性来保证。 原子性由 Undo log 保证。Undo Log 会保存每次变更之前的记录,从而在发生错误时进行回滚。
values('a', 4); ERROR 1062 (23000): Duplicate entry 'a' for key 't1.uk_c1' insert ignore into insert方式插入数据在处理过程中发生主键传统等错误时候...,然后主键冲突,就对该主键的内容进行替换,如果唯一键冲突,唯一值所在行就会删除,重新插入新的行,如果都不冲突则正常插入数据。...,可是测试过程中发现插入失败的时候,自增列的自增值居然变大了。...原因很简单,用插入数据的流程来进行分析: 因为自增值的保存是在插入数据真正执行前完成的,因此就会出现这种问题了。 这个时候有人就会想了,可以把AUTO_INCREMENT值改回去吗?...,开启了一个事务,在插入的时候发生了事务的回滚,当回滚后再次插入数据,发现自增值又从出现了“空洞”,那么问题又来了,为什么在插入数据的时候发生了回滚,数据回滚了,自增值却没有回滚呢?
这里主要介绍mongo索引基本知识和mongo本人在索引上的犯的错。...#INF, 30.0)" ] }, 多键索引 如array索引 https://docs.mongodb.com/manual/core/index-multikey/ 多键索引是没法查一个数组全部匹配的...唯一索引会对数据进行校验,不允许重复数据。 sharding cluster 索引 索引是在各个shard上面单独建立的,不是全局的。...优势是这个查询也很快,缺点是多了一个index,减弱了插入性能。 这个可能需要衡量前两个字段过滤掉了多少数据,phone这个字段占剩下数据量的多少来决定需要创建什么样的index....index VS cassandra secondary index 1.query 过程cassandra query,首先根据partitioner key去找对应partition,partition
有的下载图片,都是重复的。 学生告诉我,经验证,最简单有效的方法,是一张张手动点击下载…… 这显然不是正经办法。 痛点 渴望从 Google 图片库高效批量获得优质带标注图像,不会是个案。...这个大众痛点,真的没有人尝试解决吗? 今天,一个偶然的机会,我发现了一个特别棒的 Github 项目,叫做 google-images-download。 Github repo 链接在这里。...终端里面执行: googleimagesdownload -k "谭卓" -l 20 解释一下,这里的 -k 指的是 "keyword",也就是“关键词”,后面用双引号括起来要查找的关键词。...下面是执行过程: 执行完毕。 可以看到,下载过程中,发生了一个错误。 但程序依然锲而不舍,帮我们把下载流程运行完毕。 我们看看结果。...咱们打开下载后的目录 ~/Downloads/downloads/郝蕾 看看: 这回,你能分清楚她俩不?
工作中很少有用会用vim来做主力编辑器,现在有各种现代化的编程工具,像JB 全家桶、visual studio 系列。它们从上手难度和集成化程度来说,都做的比较好,离开vim也能编程。...在linux的终端中,vim算是标配,几乎每个linux服务器都会安装vim。那个时候我只会按 i 进入插入模式、按方向键移动光标。它对我来说就是一个linux上比记事本还麻烦的一个文本编辑器。...我希望的是有一个教程在实际使用中循序渐进的帮我掌握vim这些知识点,需要一个教程跟着它进行操作我就能理解并在实际中使用vim。我需要一个vim手册和实际使用的一个桥梁。...在写这一系列文章的过程中,我深刻体会到,在如今互联网环境中,一旦写出什么东西,这个东西马上就不属于你。当然这个并不是再说有人抄袭之类的。...我在更新这一系列文章的过程中也真心的希望得到反馈,得到关注,让我知道我写的这些破玩意还是有人看的,有人能从中获益,这些并不是我自己在这自说自话,自嗨,这些也并不是网络垃圾。
因此,问“我想更好的理解X,能给点提示吗?”通常比问“你能解释一下X吗?”更好。如果你的代码不能工作,问问它有什么地方不对,比要求别人替你修改要明智得多。...你可以要求给点提示,但别要求得到完整的解决方案。 ---------------- 去除无意义的疑问 ---------------- 别用无意义的话结束提问,例如“有人能帮我吗?”...问题:我的程序/配置/SQL申明没有用 问题:我的Windows有问题,你能帮我吗? 问题:我在安装Linux(或者X)时有问题,你能帮我吗?...在看到这类问题的时候,我的反应通常不外如下三种: 1. 你还有什么要补充的吗? 2. 真糟糕,希望你能搞定。 3. 这跟我有什么鸟相关? 提问:我的Windows有问题,你能帮我吗?...我读过了FAQ,但里面没有提到跟Nulix有关的问题。这是我编译过程的记录,我有什么做得不对的地方吗?
1️⃣ 死锁概述 在正式开始今天的讲解之前,我们先回顾一下死锁的相关知识 死锁是指两个或者两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而导致的一种阻塞的现象,如果没有外力,他们将一直等待下去...: 正在上传…重新上传取消 现如今球队招募一个二传手和一个副攻手,也就是position_no = 6 和 position_no = 7的人,但是在招募之前需要确认这个位置是否有人,球队的两个经理往表中插入数据的时候发生如下的事情...) values(6,研磨) insert into team(position_no, user_name) values(7,列夫) 首先解释一下为什么使用的是当前读,因为如果是快照读就会出现的情况为...7 for update语句属于非唯一索引的等值查询,会加上(7,+∞]的临键锁 两个事务都持有范围为(6,+∞]的临键锁,而接下来的插入操作会去获取插入意向锁,插入意向锁与临键锁互斥,因此获取插入意向锁需要对方的事务的临键锁释放...,设置的方法为:innodb_deadlock_detect = on即可 在业务层面,我们在处理业务逻辑的时候,主动的去寻找死锁存在的可能性,从根源解决问题,并加以修正,比如如果是防止订单号重复,也就是防止查重
仓储管理是企业供应链管理过程中一个非常重要的环节!...②现在:通过WMS货位及商品条码化管理,实现拣货过程中匹配存放货位及商品条码,采取手持终端PDA扫描条码拣货时,系统自动会根据单据中是否有该商品及数量多与少进行报警提示,从而减少多发、漏发、错发问题的产生...,盘点结束后将表格交给文员录单,整个过程中不仅抄单错误时有发生,而且文员再次加班录单耗时耗力现在:针对不同时段的盘点需求可以采取不同模式的盘点方式,如动碰盘点:系统自动将指定时间段内有库存变化的商品及货位列入盘点计划...月末只需查询相应报表即可一键得出整月数据,相比之前最少节省半个文员9、库存商品价值无法分析WMS根据库存商品数量和价值将商品分为ABC类别;实现A类严格控制B类适度控制C类宽松控制的管理。...:通过数据大屏展示各个岗位工作情况,将数据量化并体现到所有人的面前,效率排名体现工作价值及绩效,从而提高每个人的工作积极性,并起到仓库监督作用。
因此,问“我想更好的理解X,能给点提示吗?”通常比问“你能解释一下X吗?”更好。如果你的代码不能工作,问问它有什么地方不对,比要求别人替你修改要明智得多。...你可以要求给点提示,但别要求得到完整的解决方案。 ---------------- 去除无意义的疑问 ---------------- 别用无意义的话结束提问,例如“有人能帮我吗?”...问题:我的程序/配置/SQL申明没有用 问题:我的Windows有问题,你能帮我吗? 问题:我在安装Linux(或者X)时有问题,你能帮我吗?...在看到这问题的时候,我的反应通常不外如下三种: 1. 你还有什么要补充的吗? 2. 真糟糕,希望你能搞定。 3. 这跟我有什么鸟相关? 提问:我的Windows有问题,你能帮我吗?...我读过了FAQ,但里面没有提到跟Nulix有关的问题。这是我编译过程的记录,我有什么做得不对的地方吗?
如果你比较喜欢问个究竟,咱们就来解释一下。 这句话看似简单武断,实际上包括了以下3个方面的含义: 密码不能有意义; 组成密码的各部分不能有意义; 一个密码不能重复(或稍作改变)用于多个登录。...大错特错。 ? 道高一尺魔高一丈,这时候攻击者的武器又改善了。 人家改玩儿大数据了。 具体点儿说,叫做“撞库”。 从前破解密码,是一个一个网站来。现在不是了,是一堆一堆地做。...破解者能不断升级自己的工具,我们为什么不行?好的工具可以帮我们设定随机复杂密码,加密高强度记录保存,而且有的还可以帮我们填写用户名和密码。 而你,只需要记一个密码——进入你密码库的主密码——就够了。...请上网自行搜索密码管理工具,免费的和收费的都有。我这里就不介绍了,免得有广告嫌疑。记住免费的一定要下载用的人多的,收费的一定要用价格高的。原因不解释。 :-P 答疑时间 有人对此很不屑——至于吗?...设置好的密码难道真的不值得做吗?
但是,坚持学下去,并且成功写出代码应用到工作中的人,大有人在。 他们在自己的公司,一定都是“表神”般的存在。 表神的快乐你能想象吗? 你想象不到。...但是,从基础语法到实际写代码的升级过程中,确实存在困难。 我觉得主要的原因还是基础不牢固以及样例太少。 理解并不代表可以灵活运用。...这么说吧,如果咱们的目标是能熟练运用VBA解决工作中的一些繁琐重复的任务,大幅提高效率,有了ChatGPT以后,只要你花几个小时进行基础知识的学习,就可以直接开始上手了。这在以前,是完全不可想象的。...通过优化你的问题,哪怕重复你的问题,来提高获得满意代码的概率。 比如刚才这个批量插入图片的例子,我隔了几分钟再问了一次。 好家伙,给我的代码,居然变量名用的是中文。 看来中文的地位一直在提高啊。...并且在以往的文章中,多次分享了这些心得。 今天,多位老师合力完成的《用ChatGPT和VBA一键搞定Excel》就是其中的成果之一。
Mongo 基础知识与对文档的增删改查 基础知识 文档 文档就是键值对的一个有序集,例如 {"greeting":"hello"} 文档中的值可以时多种不同的数据类型;文档中的键时字符串,但有少数例外情况...数据库 数据库就是多个集合,一个mongo实例可以承载多个数据库,每个数据库可以有多个集合,每个数据库都有独立的权限。...([{"_id":0},{"_id":1},{"_id":2}]) 不能在单词请求中将多个文档批量插入多个集合中 如果在执行批量插入的过程中有一个文档插入失败,那么在该文档之前的所有文档都会成功插入...,这个文档之后的文档都会插入失败 插入文档的_id不能重复 在批量插入遇到错误时,可以使用continueOnError选项忽略错误并继续执行后续插入,但在shell中并不支持,在驱动中可以执行 插入校验...不能只将slice或者sort和push配合使用,且必须使用each 将数组作为数据集使用 如果想将数组作为数据集使用,保证数组内的元素不会重复。可以使用$ne实现。
“一键Apply”功能简单来说,就是可以一键将 AI 生成的代码自动插入到项目对应的文件位置,同时会将新生成的代码与原代码进行比对,形成差异(Diff),提醒编码者针对新代码【采纳】或者【拒绝】,无需手动打开文件...而有了“一键Apply”功能的加成之后,上面这些 AI 功能生成的代码都可以通过“一键Apply”把代码自动插入到项目对应的文件位置,这属于是如虎添翼了。...错误修复,一键Apply 项目开发过程中,遇到最让人头疼的就是莫名其妙的代码报错,有时候为了解决代码报错的问题,所付出的时间,可能都比开发这个功能时间要长。...代码注释,一键Apply 写好了代码,怎么能少的了写注释呢!不写注释,不仅你同事看不懂,未来 3 个月后的你也看不懂。...让 AI 编程工具成为我们提升工作效率的小助手,释放一些重复性的工作,让我们更关注去攻破工作中复杂的业务场景,同时增加开发过程中的幸福感,而这也正是这些 AI 编程工具所存在的意义。
黑客较愿意回答那些能帮助到许多人的问题。 可以理解的是,老练的黑客和一些热门软件的作者正在接受过多的错发信息。...通常比问你能解释一下 X 吗?更好。如果你的代码不能运作,通常请别人看看哪里有问题,比要求别人替你改正要明智得多。...尽管黑客们会看出来,但一些有经验的用户也许仍会给你一些提示。 去掉无意义的提问句 避免用无意义的话结束提问,例如有人能帮我吗?或者这有答案吗?。 ...在看到这类问题的时候,我的反应通常不外如下三种 你还有什么要补充的吗? 真糟糕,希望你能搞定。 这关我屁事? 问题:我的 Windows 电脑有问题,你能帮我吗?...某黑客对这类问题的回答通常是:好的,还要帮你拍拍背和换尿布吗?,然后按下删除键。 聪明问题: 我在 S2464 主机板上试过了 X 、 Y 和 Z ,但没什么作用,我又试了 A 、 B 和 C 。
开发者能尝试大量的数据模型,从中选一个最好的。 1.2 易扩展性 应用程序数据集的大小正在以不可思议的速度增长。...#2、文档中的值不仅可以是在双引号里面的字符串,还可以是其他几种数据类型(甚至可以是整个嵌入的文档)。 #3、MongoDB区分类型和大小写。 #4、MongoDB的文档不能有重复的键。...另外,中间的几位数字也会变化(要是在创建过程中停顿几秒)。 这是ObjectId的创建方式导致的,如上图 时间戳单位为秒,与随后5个字节组合起来,提供了秒级的唯一性。...最后3个字节是一个自动增加的 计数器。确保相同进程的同一秒产生的 ObjectId也是不一样的。 #2、自动生成_id 如果插入文档时没有"_id"键,系统会自帮你创建 一个。...#1、没有指定_id则默认ObjectId,_id不能重复,且在插入后不可变 #2、插入单条 user0={ "name":"zgh", "age":10, 'hobbies
以下划线”_”开头的键是保留的(不是严格要求的)。 MongoDB的文档不能有重复的键。 MongoDB不但区分类型,而且区分大小写。...集合是动态模式的,也就意味着集合没有固定的结构,集合可以插入不同格式和类型的数据,但通常情况下我们插入集合的数据都会有一定的关联性。...随之而来的一个问题是:既然没有必要区分不同类型文档的模式,一个数据库还有必要使用多个集合吗? 这里的不区分仅仅是物理结构的不区分,但实际开发中由于业务的分区,会产生多个逻辑集合单元。...MongDB能理解数组结构,并能深入其中构建索引,执行查询或更新操作。...多个集合之间_id可以重复(与关系数据库表的主键一样)。
主键 超键 候选键 外键 2.数据库事务的四个特性及含义 3. 视图的作用,视图可以更改么? 4. drop,delete与truncate的区别 5. 索引的工作原理及其种类 6....连接的种类 7. 数据库范式 8. 数据库优化的思路 9. 存储过程与触发器的区别 Redis面试题 1. 使用Redis有哪些好处? 2. redis相比memcached有哪些优势?...nginx面试题 1.请解释一下什么是Nginx? 2. 请列举Nginx的一些特性? 3.请列举Nginx和Apache 之间的不同点? 4. 请解释Nginx如何处理HTTP请求。 5....MongoDB中的分片是什么意思? 21. 如何查看使用MongoDB的连接? 22. 什么是复制? 23. 在MongoDB中如何在集合中插入一个文档? 24....在MongoDB中如何查看一个已经创建的集合? 27.在MongoDB中如何删除一个集合? 28.为什么要在MongoDB中使用分析器? 29. MongoDB支持主键外键关系吗? 30.
领取专属 10元无门槛券
手把手带您无忧上云