我:大哥 census 库 ll_census_zd_income 结构同步一下,census 发个版 运维:好了 ,加字段尽量加载默认最后面 我:为啥,我插入是方便查看 运维:数据库是给开发查看用的吗 运维:select *? 运维:不会自己查字段 我:1 (内心 OB 懒得没时间和你多 BB ) 各位 v 友怎么看
1 dorothyREN 2020-05-21 10:19:35 +08:00 没毛病啊 |
2 dorothyREN 2020-05-21 10:22:26 +08:00 ![]() 楼主 你完蛋了,我估计一会就有一大批人来叼你了。 |
![]() | 3 dog82 2020-05-21 10:24:05 +08:00 有略微的性能差异,完全可以忽略不计 |
4 dilu 2020-05-21 10:25:19 +08:00 via Android ![]() 很多事情本身并没有对错,就看谁话语权重,仅此而已 |
![]() | 5 qW7bo2FbzbC0 2020-05-21 10:27:04 +08:00 ![]() 加字段尽量加载默认最后面 我:为啥,我插入是方便查看 没看懂 运维:select *? 运维:不会自己查字段 我 看不懂上下文关系 |
![]() | 6 MrCastle 2020-05-21 10:33:10 +08:00 不应该是开发测试一个库,然后生产一个库吗? 分开管理不好吗? 我们公司是开发测试-准生产-生产,三个环境的,开发要动生产的数据库只能提升级流程。直接动生产的数据库算什么事,万一来个删库跑路怎么办? |
![]() | 7 ctOS1H 2020-05-21 10:35:43 +08:00 ![]() 写的啥玩意 |
8 daozhihun 2020-05-21 10:38:10 +08:00 什么乱七八糟的,是不是标点和换行不见了 |
![]() | 9 sun1991 2020-05-21 10:39:17 +08:00 ![]() 这是 LZ 脑内存的 dump |
![]() | 10 realpg PRO 有管数据库的运维的体量的公司 /团队 那就按运维说的办 |
![]() | 11 realpg PRO 至于你的标题, 我们租的码头仓库不是给放东西用的?为啥非要整齐的堆起来?随便往里一扔不就好了。为啥要整齐的堆好。 |
![]() | 12 darksword21 PRO 能加个\n 吗 |
![]() | 13 Mistwave 2020-05-21 10:54:24 +08:00 via iPhone ![]() 没错,db 就是给 dev 用的,你们 dba 不专业,你应该喷他,就应该给你所有权限,上去随便 alter truncate,怎么爽怎么来,毕竟 dev 是大爷。手动狗头 |
14 jinzhongyuan 2020-05-21 10:54:55 +08:00 ![]() 写的啥 季霸玩意啊 |
![]() | 15 lscexpress 2020-05-21 10:56:15 +08:00 你表达太混乱了 |
![]() | 16 imdong 2020-05-21 10:56:31 +08:00 大概看懂了,动感地带:“我的地盘听我的。” #11 说的对,但描述可以换一下:“仓库不是给搬运工用的?” |
![]() | 17 monsterxx03 2020-05-21 10:59:13 +08:00 via Android ![]() 看具体情况喽,其实除 mysql 之外的数据库字段大多只能加最后,如果你们用 etl 工具把表同步到其他数据库里做分析用, add column after 这样的语句大概率不支持的,只能 reload 整张表,的确很麻烦…… |
![]() | 18 villivateur 2020-05-21 11:00:06 +08:00 via Android ![]() 楼主,用文字表达清楚自己想说的话,有那么难吗? |
![]() | 19 gabezhao 2020-05-21 11:51:01 +08:00 我看了,看不懂你说的啥 |
20 karnaugh 2020-05-21 11:57:31 +08:00 不是,楼上这些人看不懂吗??在 [我:] 和 [运维:] 之前脑动加个换行符这么难么,就是个聊天记录,来我给你们加上换行符好吧↓ 我:大哥 census 库 ll_census_zd_income 结构同步一下,census 发个版 运维:好了 ,加字段尽量加载默认最后面 我:为啥,我插入是方便查看 运维:数据库是给开发查看用的吗 运维:select *? 运维:不会自己查字段 我:1 (内心 OB 懒得没时间和你多 BB ) 各位 v 友怎么看 @hjahgdthab750 @ctOS1H @daozhihun @jinzhongyuan @lscexpress @villivateur @gabezhao |
![]() | 23 AngryMagikarp 2020-05-21 12:04:13 +08:00 ![]() 我好像明白了。 意思是某张表加了一列。然后那列默认是排在最后的。如果 select * from table 时,那一列就排在最后面了。而运维认为如果要查看应该自己指定字段以及顺序。比如 select col1,col2 from table 。 |
24 lg106 2020-05-21 12:09:14 +08:00 看了半天才看懂- - |
![]() | 25 xuanbg 2020-05-21 12:33:11 +08:00 虽然运维做的也没错,但我就是喜欢表结构有序,这是强迫症,而且我不打算改。 如果楼主不能一言而决,那么就只能去运维那里软磨硬泡也好,撒娇打滚也罢,总之总要付出点代价让运维听你的就完了。 |
![]() | 26 qW7bo2FbzbC0 2020-05-21 12:36:34 +08:00 ![]() @karnaugh #20 你看你重新发了一遍,还是错别字连篇,还是没讲清楚问题 |
27 Vhc001 2020-05-21 12:41:12 +08:00 又一个被应试教育毁掉语言表达能力的。。。 |
![]() | 28 Vegetable 2020-05-21 12:44:45 +08:00 |
![]() | 29 Vegetable 2020-05-21 12:45:12 +08:00 看不懂这段对话的,理解能力有问题。 我说的 |
31 fengxue OP 十分尴尬第一次发帖,电脑发的为何换行不见了 |
32 fengxue OP @dorothyREN 是嘛,看了下还好 |
33 fengxue OP @MrCastle 是三个库,我本地加字段让运维同步线上,突然来一句以后加后面有点懵,插入到相关字段浏览效果不是好点吗,一点要在 add_time 后面? |
![]() | 34 bk201 2020-05-21 13:12:14 +08:00 你就不能问下为啥这么做,有啥好处,长个见识。话说这个操作什么好处,有谁知道么 |
![]() | 35 leido 2020-05-21 13:12:58 +08:00 via Android 运维和 dba 是两种职业,运维不背锅 |
36 fengxue OP @monsterxx03 靠谱 |
37 fengxue OP @bk201 我第一反应就问了,为啥不能插入。紧接着说了我为何插入字段而不是默认最后添加字段:插入方便浏览。你看他给我回的啥,之后就懒得和他多 bb 了。心血来潮 v 站发个贴问问各位 V 站大佬为何不能插入和运维回的一句:数据库是给开发查看用的吗 ?解疑惑而已 |
![]() | 38 heyjei 2020-05-21 13:31:09 +08:00 很多数据库都是只能把字段附加到最后的吧,也就 MySQL 能够通过 before 和 after 来调整顺序 |
![]() | 40 DonaidTrump 2020-05-21 13:46:20 +08:00 不知道是什么环境的,楼主也没说,不过生产环境的数据库,确实不是给开发用的。开发即使要数据,也应该有一个测试用的数据库,数据可以从生产环境同步。 |
41 tingfang 2020-05-21 13:48:47 +08:00 应该是楼主想 ALTER TABLE t_a_table ADD COLUMN a_column INT AFTER a_column,运维不允许指定新增字段的位置。 |
![]() | 42 danhahaha 2020-05-21 14:15:51 +08:00 ![]() 就按你这段文字水平,让你随便放字段,那数据库不真是没法看了 |
![]() | 43 tt67wq 2020-05-21 14:19:23 +08:00 我真的是 select *的 |
44 vnex 2020-05-21 14:26:14 +08:00 是 因为 select * 吗? 因为 * 会导致两次查询索引? |
![]() | 45 c6h6benzene 2020-05-21 14:26:32 +08:00 via iPhone 我记得我们这边生产数据库( SQL server )改表走 release 的时候也是要求新字段放在最后,便于管理。 DBA 说的也没毛病,SELECT *字段顺序不满意可以自己指定顺序。 |
46 gleymonkey 2020-05-21 14:42:37 +08:00 测试数据库是给开发用的,随便搞,我是运维 |
47 neoblackcap 2020-05-21 14:51:35 +08:00 @heyjei 没错,也就 MySQL 可以,像 Postgres 才不管你。要不然你重新建表。我觉得这个真的是没有必要,特别是 MySQL DDL 还锁表 |
![]() | 48 weizhen199 2020-05-21 15:09:04 +08:00 那你把 sql 写好,让他帮你跑 |
![]() | 49 barrysn 2020-05-21 15:16:15 +08:00 运维和 dba 是两种职业,运维不背锅 而且 DBA 说的没错,数据库还是针对程序用的,你只是因为个人查看方便就要求更新字段顺序,如果每个开发人员都要求来修改字段顺序,DBA 每天就不用干其他的了。 |
![]() | 50 abcbuzhiming 2020-05-21 15:35:53 +08:00 有 dba 和运维的公司,请务必按照 dba 和运维的话做这样出任何他们领域的问题,都可以把锅丢他们头上 |
51 ackfin01 2020-05-21 15:38:18 +08:00 运维没毛病。数据库也不是给开发用的,是服务于应用的。 |
52 forgottencoast 2020-05-21 15:43:43 +08:00 就这表达能力,我看不用讨论了。 |
![]() | 53 liuxey 2020-05-21 15:46:15 +08:00 憋着一肚子火到 v 站发给贴求同情,结果反而被怼,v 站用户-1 |
![]() | 54 tolerance 2020-05-21 15:53:19 +08:00 u1s1 运维没错,改变表结构有一系列潜在的工作,文档调整,文档版本管理,数据同步,数据恢复,历史数据管理,版本回退,等等;毕竟不可能只有一个开发人员。 |
![]() | 55 index90 2020-05-21 16:04:43 +08:00 select * 不是一个好习惯 |
![]() | 56 lithiumii 2020-05-21 16:09:39 +08:00 建议全部上 mongodb,我看你们还怎么 select * |
57 jabin88 2020-05-21 16:13:17 +08:00 开发:要不代码你来写?脚本你来做?工资我代你领 运维:。。。 |
![]() | 58 guokeke 2020-05-21 16:20:07 +08:00 不用 select * 不是开发的常识吗? |
![]() | 59 hoyixi 2020-05-21 16:20:47 +08:00 正常,正规公司,只要是共用环境,包括 dev 、测试、UAT 环境,数据库不管是 DBA 来管还是谁来管,不是你想改就能改。production 环境更不用说。 当然你自己用自己搭的,随便你改 |
![]() | 60 akira 2020-05-21 16:28:44 +08:00 数据库不是给开发用的. |
61 JakeLaoyu 2020-05-21 16:39:26 +08:00 如果有相关负责团队就按照他们的规范来,毕竟有问题他们是要背锅的。 |
![]() | 62 Resource 2020-05-21 16:49:45 +08:00 居然被你猜对了,数据库不是给开发用的 |
![]() | 63 BasIrs 2020-05-21 16:53:30 +08:00 @jinzhongyuan 看到你这里给我整笑了哈哈哈哈 |
![]() | 64 red2dog 2020-05-21 16:56:06 +08:00 我们执行线上 sql 是需要审批。然后 dba 执行的。 测试环境是申请权限后随便开发随便用的 |
65 fancy2020 2020-05-21 17:01:57 +08:00 via iPhone 第一次知道原来字段是有顺序的,学了个知识点 |
![]() | 66 swulling 2020-05-21 17:10:51 +08:00 via iPhone 我看懂了,但是确实没必要调整字段说顺序 |
67 Erroad 2020-05-21 17:33:42 +08:00 数据库是人家管的,人家确实有定规范的权力,出了问题也是人家背锅 |
68 Erroad 2020-05-21 17:34:26 +08:00 不过语气确实冲,暴躁老哥,哈哈 |
69 tairan2006 2020-05-21 17:38:31 +08:00 这写的啥玩意儿。。select * 本来就不让用啊 |
![]() | 70 stephenxiaxy 2020-05-21 18:03:25 +08:00 没毛病 |
![]() | 71 johnchshen 2020-05-21 18:16:02 +08:00 via Android 都是门槛太低惹的祸。看隔壁医生就表现专业的多。 |
![]() | 72 jasonding 2020-05-21 18:24:40 +08:00 字段顺序不同有什么影响么?不太懂 |
![]() | 73 loading 2020-05-21 18:37:17 +08:00 via Android 贵司 DBA 已经参照数据库三权分立执行,没毛病的,很优秀的一位员工。 |
74 wc951 2020-05-21 20:06:31 +08:00 via Android 随意搞生产库的离告别开发也不远了 |
75 james122333 2020-05-21 21:15:16 +08:00 看语法就知道搂 肯定目的受众是非专业 |
76 mengzhuo 2020-05-21 22:49:39 +08:00 ![]() 我是开发 ---------- select * 确实不符合规范,增加项或者删减项程序会没法感知。 说明没有 ORM 或者审查工具 如果还是直接按第几位取结果,就更容易 GG 了。 code review 的时候碰到这样的会直接打回的。 ------------ 数据库是给程序用的,真人工处理的话,还是笔纸适合你。 ------------ 你该专业的时候不专业被人喷很正常。 |
![]() | 77 skull 2020-05-22 08:23:11 +08:00 原来你是直接打开数据库看,不是用语句看 |
![]() | 79 encro 2020-05-22 08:53:26 +08:00 @neoblackcap 加字段恰好属于 ONLINE DDL |
![]() | 80 encro 2020-05-22 08:59:41 +08:00 除了标题,其他我是挺作者的: 1,字段有顺序,打开数据库重新设计时容易找到; 2,ORM 自动都是 select * ,这点性能不算啥,当然如果高频查询,内容长时不应该。 最后标题也是支持的: 1,生产库不是给开发用的很正常,但是找 BUG,定位线上数据问题还是得开发为主,所以如果说数据库给开发用没毛病; 2,至于说数据库是给客户用的,这个客户不用数据库,用的是产品和服务。 |
81 tairan2006 2020-05-22 09:34:53 +08:00 @encro 你用的啥 ORM 自动是 select *,我就没见过这种 ORM… |
82 ayavvv 2020-05-22 09:58:05 +08:00 写的什么玩意。。。 |
![]() | 83 heaton_nobu 2020-05-22 10:03:45 +08:00 方便查看这个理由不足以说服 DBA 去改变字段顺序 如果你有更充分的理由,请跟 DBA 说明并询问是否可以插入到前面 如果没有,那就听 DBA 的 |
![]() | 84 encro 2020-05-22 10:08:08 +08:00 |
![]() | 86 encro 2020-05-22 10:14:01 +08:00 最后, 要什么 DBA, 自己写 migrate,自己查慢日志。 NB 程序员: 谁不同意我的意见, 我就写个程序帮他有优化下, 让领导觉得他这个岗位可有可无。 |
![]() | 88 lscexpress 2020-05-22 10:31:44 +08:00 @liuxey 哈哈哈,有错要认 挨打立正。群众又不是不分青红皂白,虽然我也是开发,但我站运维这边。 |
![]() | 89 zoharSoul 2020-05-22 10:35:11 +08:00 |
![]() | 90 zoharSoul 2020-05-22 10:36:29 +08:00 @index90 @lithiumii @vnex @tt67wq @guokeke @tairan2006 @mengzhuo @lscexpress 而且楼主的做法是 添加字段的时候指定了位置,我觉得这个是合理的,非要要求加到最后没有任何意义, 数据库字段理应有合适的顺序方便阅读. |
91 tairan2006 2020-05-22 10:55:37 +08:00 @zoharSoul 主要是楼主自己词不达意啊… 说白了就是他`alter table add column`的时候用了`after`指定位置,但是 dba 觉得不好,当然实际上这个压根没啥影响。 一句话就能说清的问题,扯了半天。 |
![]() | 92 zoharSoul 2020-05-22 10:57:14 +08:00 @tairan2006 是的,主要还是楼主表达的乱七八糟... 我也是看了楼下有人翻译的才明白. |
93 namelosw 2020-05-22 11:40:25 +08:00 DB 是给 dev 看的,但是 dev 确实不应该关心顺序啊。用个 DataGrip 之类的完全无所谓。 |
94 fengxue OP @gleymonkey 我是测试 mysql 库插入字段,让运维同步结构到线上库才来的这么一段(注:运维用的是 navicat 结构同步) |
![]() | 95 adoontheway 2020-05-22 15:42:01 +08:00 开发库可以有权限,有字段修改尽量给脚本给运维,而不是口头告知 |
97 tairan2006 2020-05-22 18:01:35 +08:00 楼主你聊天记录你们当事人肯定是知道上下文的,其他人看聊天记录能明白啥。还怀疑别人理解能力,概括一下不行么? 读过话剧剧本么,你这个场景完全可能是: 我 [把脚本发给了运维] :…发个版 运维 [看了看脚本] :select *? 因为一般情况下上线改数据库是给 DBA 脚本的,谁知道你们这么落后还要手动改,笑死。 |