我:大哥 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 1
楼主 你完蛋了,我估计一会就有一大批人来叼你了。
|
3
dog82 2020-05-21 10:24:05 +08:00
有略微的性能差异,完全可以忽略不计
|
4
dilu 2020-05-21 10:25:19 +08:00 via Android 1
很多事情本身并没有对错,就看谁话语权重,仅此而已
|
5
qW7bo2FbzbC0 2020-05-21 10:27:04 +08:00 5
加字段尽量加载默认最后面 我:为啥,我插入是方便查看
没看懂 运维:select *? 运维:不会自己查字段 我 看不懂上下文关系 |
6
MrCastle 2020-05-21 10:33:10 +08:00
不应该是开发测试一个库,然后生产一个库吗?
分开管理不好吗? 我们公司是开发测试-准生产-生产,三个环境的,开发要动生产的数据库只能提升级流程。直接动生产的数据库算什么事,万一来个删库跑路怎么办? |
7
ctOS1H 2020-05-21 10:35:43 +08:00 3
写的啥玩意
|
8
daozhihun 2020-05-21 10:38:10 +08:00
什么乱七八糟的,是不是标点和换行不见了
|
9
sun1991 2020-05-21 10:39:17 +08:00 36
这是 LZ 脑内存的 dump
|
10
realpg 2020-05-21 10:47:06 +08:00
有管数据库的运维的体量的公司 /团队 那就按运维说的办
|
11
realpg 2020-05-21 10:50:33 +08:00
至于你的标题,
我们租的码头仓库不是给放东西用的?为啥非要整齐的堆起来?随便往里一扔不就好了。为啥要整齐的堆好。 |
12
darksword21 2020-05-21 10:52:18 +08:00
能加个\n 吗
|
13
Mistwave 2020-05-21 10:54:24 +08:00 via iPhone 2
没错,db 就是给 dev 用的,你们 dba 不专业,你应该喷他,就应该给你所有权限,上去随便 alter truncate,怎么爽怎么来,毕竟 dev 是大爷。手动狗头
|
14
jinzhongyuan 2020-05-21 10:54:55 +08:00 1
写的啥 季霸玩意啊
|
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 1
看具体情况喽,其实除 mysql 之外的数据库字段大多只能加最后,如果你们用 etl 工具把表同步到其他数据库里做分析用, add column after 这样的语句大概率不支持的,只能 reload 整张表,的确很麻烦……
|
18
villivateur 2020-05-21 11:00:06 +08:00 via Android 1
楼主,用文字表达清楚自己想说的话,有那么难吗?
|
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 1
我好像明白了。
意思是某张表加了一列。然后那列默认是排在最后的。如果 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 1
@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
tulongtou 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 2
就按你这段文字水平,让你随便放字段,那数据库不真是没法看了
|
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 1
我是开发
---------- 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 脚本的,谁知道你们这么落后还要手动改,笑死。 |