横瓜执导众程序员开展大讨论关于C、JAVA及其它主流IT技术使用状况和优势缺点。

横瓜执导众程序员开展大讨论关于C、JAVA及其它主流IT技术使用状况和优势缺点。html

 

遥执乾坤(44758121)  18:21:23
mysql听说只能使用一个索引,我这里几乎全部字段都有索引。
但每一个字段就算用索引,也须要扫描至少100w以上记录。
横瓜(601069289)  18:23:12
mysql支持16个索引
对1-3字段索引属于优质的数据库结构
横瓜(601069289)  18:24:56
再多了,就是数据库结构设计不合理
横瓜(601069289)  17:53:15

 

处理大数据,对于计算要放应用层
不要采用SQL执行计算,能够垂直分解应用业务和复杂计算
横瓜(601069289)  17:54:50
若是数据量特别大,请采用水平方式来分解应用业务和复杂计算
采用水平方式来分解应用业务和复杂计算,可处理TB级的数据量,为全世界提供信息服务
横瓜(601069289)  17:59:20
采用普通PC+固态硬盘+水平分解业务+缓存+LINUX2.4以上的版本+接入层请求分发均衡
~游濄丿群鴨(39012090) 2013-6-28 10:49:07
java 是有些东西作不了
上海-石头哥(59851444) 2013-6-28 10:49:21
 靠!
固然了
人也有些东西作不了
这些都是正常的
作驱动程序 就不适合用java
Glory(1302516908) 2013-6-28 10:50:30
唉,不说了,都是血泪,这么多年,绕不开java的队伍,都是血泪,和java队伍搭班子太累
上海-石头哥(59851444) 2013-6-28 10:50:43
你没遇到对的人
不是java的问题
最难相处也是人
~游濄丿群鴨(39012090) 2013-6-28 10:51:03
好比让c c++来作web的前端开发,会不会比较麻烦?
上海-石头哥(59851444) 2013-6-28 10:51:12

北京-普通人(409031406) 2013-6-28 10:51:26
谁会用c++,c作前端
~游濄丿群鴨(39012090) 2013-6-28 10:51:44
是的咯
北京-普通人(409031406) 2013-6-28 10:53:23
c++、c配合JAVA或者PHP啥的,都挺好的嘛,c服务端数据处理
Glory(1302516908) 2013-6-28 10:53:27
有作java的吗?
请教个问题
遥执乾坤(44758121) 2013-6-28 10:53:56
java至少用过5-6年的才能作事情。用3年如下的人,很喜欢弄一堆构架进去,啥spring, hibernate, structs。。。作企业级应用,这些都是垃圾东西。
Glory(1302516908) 2013-6-28 10:54:08
一个小狗屁项目,hibernate配置数据库,就比直接写数据库访问快?
遥执乾坤(44758121) 2013-6-28 10:54:56
大公司也不用这些东西,由于先后分离,ao dao分离,没法用他们。
而后剩下的就只有没有经验的人,每天被那帮所谓的学校老师忽悠,觉得这些很牛叉。
Glory(1302516908) 2013-6-28 10:55:29
乾坤说的太对了
北京-普通人(409031406) 2013-6-28 10:56:03
不比直接写数据库快。
~游濄丿群鴨(39012090) 2013-6-28 10:56:09
hibernate 比较适合通用
空/卡皮(501968942) 2013-6-28 10:56:11
你们在批判学校的?
Glory(1302516908) 2013-6-28 10:56:14
弄一堆东西进去,来个新功能,发现没法套那堆东西,而后告诉你:java实现不了,java就这么被恶心了
~游濄丿群鴨(39012090) 2013-6-28 10:56:28
有些公司就喜欢一劳永逸。搞个hibernate就能够通用任何数据库
不用你在从新重写sql
遥执乾坤(44758121) 2013-6-28 10:57:35
问题是,正规的公司几乎都是mysql。。。 oracle那么贵,通常人根本用不起。
~游濄丿群鴨(39012090) 2013-6-28 10:58:10
就像你说的企业开发,就特别喜欢用hibernate
好比 DB2 INFORMIX
等乱起八糟的数据库都会碰到
Glory(1302516908) 2013-6-28 10:58:36
企业应用,那也能够理解了
我他妈作个自家的系统,硬件都是本身配的,别说软件了,程序员也非得弄进这一套来,这不是找骂?
~游濄丿群鴨(39012090) 2013-6-28 10:59:35
不过hibernate能够和 直接写sql 混用
遥执乾坤(44758121) 2013-6-28 10:59:40
调用别人的数据库是最痛苦的事情。。。
~游濄丿群鴨(39012090) 2013-6-28 11:00:44
我估计是 那个程序员用惯了hibernate,由于它也帮助程序员少些代码。
~游濄丿群鴨(39012090) 2013-6-28 11:00:53
甚至不用写sql
Glory(1302516908) 2013-6-28 11:02:02
这就出来问题了——部分java程序员招骂第一缘由:套路化
广州-恒-java(821600682) 2013-6-28 11:02:14
公司开发一套通用的,现场部署时数据库多是别人的,表名,字段名可能不同,ORM这个我的感受仍是有须要的。。
上海-石头哥(59851444) 2013-6-28 11:02:36
大家一味的骂是由于不适合大家
Glory(1302516908) 2013-6-28 11:02:45
就像彪哥打架,一套热身还没打完,人家一脚踢到裤裆,你已经趴下了
上海-石头哥(59851444) 2013-6-28 11:02:51
结合本身的观点
遥执乾坤(44758121) 2013-6-28 11:03:17
框架的确不适合啥东西都是本身的。
~游濄丿群鴨(39012090) 2013-6-28 11:03:23
框架有适用范围,具体用不用。还不是老大说得算
遥执乾坤(44758121) 2013-6-28 11:03:37
但若是数据库都是别人的,那就最好用个来屏蔽差别了。
北京-普通人(409031406) 2013-6-28 11:03:38
若是以为hibernate很差用,能够直接开发ORM,不少公司也会本身封装本身的orm。其实hibernate优点仍是慢多的
满多的
上海-石头哥(59851444) 2013-6-28 11:03:44
hibernate在快速开发上仍是有很强大的,也很自动,不过要彻底用得游刃有余,那绝对是高手所为,我其实不建议新生用
Glory(1302516908) 2013-6-28 11:03:54
再一个就是霸王硬上弓,前一阵碰上一个学生,给咱们作推荐算法,上亿的数据,非得java,结果32G的内存怎么都搞不定
北京-普通人(409031406) 2013-6-28 11:04:03
想用好hibernate仍是要高手
上海-石头哥(59851444) 2013-6-28 11:04:18
若是一直使用hibernate,但自己本身sql基础不牢,其实到后期很致命
遥执乾坤(44758121) 2013-6-28 11:04:20
对。hibernate我当年用的时候,被里面的几个bug搞死了,后来只能修改hibernate源码才搞定。浪费了太多时间。
~游濄丿群鴨(39012090) 2013-6-28 11:04:47
hibernate只能完成80%的任务。
abc(951514291) 2013-6-28 11:04:57
要不就用Mybatics,JPA
~游濄丿群鴨(39012090) 2013-6-28 11:05:08
一些复杂查询,仍是得sql来的直接
Glory(1302516908) 2013-6-28 11:05:19
后来直接把他踢走,换另一个学生过来,8G内存稳定可控,一天推荐的算量还提升好几倍
遥执乾坤(44758121) 2013-6-28 11:06:05
我写了一个2个文件,一个db操做,一个多连接cache,而后就解决了80%的数据库问题。操做方式和hibernate的基础方式几乎同样。也是没有sql语句就能办事情。
北京-普通人(409031406) 2013-6-28 11:06:06
不少作JAVA的人,作内存控制,内存处理这块,是没有概念的
Glory(1302516908) 2013-6-28 11:06:28
只是内存控制没概念还好,关键是数据结构没概念
上海-石头哥(59851444) 2013-6-28 11:06:40
若是sql自己基础很牛B,那你用hibernate我以为仍是能够大大开发效率
~游濄丿群鴨(39012090) 2013-6-28 11:06:53
hibernate 有个很大的用处就是通用各类数据库呀
Glory(1302516908) 2013-6-28 11:07:13
上亿的数据,本是稀疏矩阵,他居然敢使用两级字典作数据结构
上海-石头哥(59851444) 2013-6-28 11:07:18
后来我一直用ibatis
遥执乾坤(44758121) 2013-6-28 11:07:23
通用数据库,是我认为hibernate惟一值得用的地方。
上海-石头哥(59851444) 2013-6-28 11:07:36
是由于我也不太喜欢太多的限制
~游濄丿群鴨(39012090) 2013-6-28 11:07:45
否则仅仅是db操做和cache,不少db库都能作
上海-石头哥(59851444) 2013-6-28 11:07:51
这点彷佛没啥用
谁会老换数据库
遥执乾坤(44758121) 2013-6-28 11:08:10
适合你调用别人数据库的状况。
别人的数据库天知道啥玩意。有些仍是嵌入式的呢。
~游濄丿群鴨(39012090) 2013-6-28 11:08:25

上海-石头哥(59851444) 2013-6-28 11:08:51
我游走过几个公司,有银行,也有第三方支付等
发现hibernate在这些地方出场并不高
几乎没有
都是用ibatis
Glory(1302516908) 2013-6-28 11:09:44
访问量略微大一点,hibernate撑不住啊
上海-石头哥(59851444) 2013-6-28 11:10:19
关键不是这个
是生成的sql不必定可控,这也是很大一方面
~游濄丿群鴨(39012090) 2013-6-28 11:11:21
访问量大的地方得另外处理了。hibernate 不适合作互联网应用,作作后台管理仍是能够的。
上海-石头哥(59851444) 2013-6-28 11:11:23
本身写sql嘛,你懂的,出来的什么 都知道
遥执乾坤(44758121) 2013-6-28 11:11:25
我写的代码和ibatis的结构很像,呵呵。就是轻量不少。
但同时也有bug的多。。。唉。
abc(951514291) 2013-6-28 11:12:00
访问量大,并发高,把hibernate的缓存用好,再结合第三方缓存框架也能够啊
上海-石头哥(59851444) 2013-6-28 11:12:03
bug多慢惭改
慢慢改
~游濄丿群鴨(39012090) 2013-6-28 11:12:54
后台统计、计算这些未必还用hibernate啊?
遥执乾坤(44758121) 2013-6-28 11:13:29
就一个接口。剩下的就是Mysql,oracle的实现了。
jace(793727599) 2013-6-28 11:14:48
大家有专职作数据分析工做的吗?
Glory(1302516908) 2013-6-28 11:14:52
有那个空改第三方框架的bug,就不能本身写?
最有意思的,java比c++队伍多一个岗位:系统架构师
遥执乾坤(44758121) 2013-6-28 11:15:46
c++也有。。。
Glory(1302516908) 2013-6-28 11:15:54
~游濄丿群鴨(39012090) 2013-6-28 11:15:59
架构师应该都有吧。
上海-石头哥(59851444) 2013-6-28 11:16:07
呵呵!
遥执乾坤(44758121) 2013-6-28 11:16:10
搜索构架师。
Glory(1302516908) 2013-6-28 11:16:14
事实上是有,但c++的队伍较少公开专门招
jace(793727599) 2013-6-28 11:16:14
相似数据科学家的角色
上海-石头哥(59851444) 2013-6-28 11:16:20
系统架构师并非指语言的
java的也有好吧
大家把语言看得过重了
我想说 太年轻

Glory(1302516908) 2013-6-28 11:17:00
说的太对了,真正的系统架构师应该是通用的
遥执乾坤(44758121) 2013-6-28 11:17:04
构架师只有大规模项目才须要。
上海-石头哥(59851444) 2013-6-28 11:17:07
咱们公司的就是
Glory(1302516908) 2013-6-28 11:17:14
但java一般有个专门岗位:jva系统架构师,
上海-石头哥(59851444) 2013-6-28 11:17:18
虽然不见得比我牛B
呵呵!
那是错误的认识
Glory(1302516908) 2013-6-28 11:18:00
不少公司专门招java系统架构师的
上海-石头哥(59851444) 2013-6-28 11:18:02
咱们公司的架构师经常问我一些问题的
Glory(1302516908) 2013-6-28 11:18:24
条件就是熟悉各种java框架
加速度(272551280) 2013-6-28 11:18:24
solr 查询 返回时 剔除了html的内容 怎么改为不剔除呢?
上海-石头哥(59851444) 2013-6-28 11:18:26
强调的是系统及架构
加速度(272551280) 2013-6-28 11:19:16
solr 查询 返回时 剔除了html的内容 怎么改为不剔除呢?
有哪位同窗 研究过这个?
Glory(1302516908) 2013-6-28 11:20:23
咱们土比,偶尔用用solr,都是本身转码
~游濄丿群鴨(39012090) 2013-6-28 11:20:44
呵呵 熟悉主流框架,就能从这些成熟的产品吸收经验嘛
遥执乾坤(44758121) 2013-6-28 11:31:04
有运维人员想找工做不?
哥不要开发,开发找个在校大学生就能搞定了。须要的是运维,由于运维没有几年经验,啥都不会。
~游濄丿群鴨(39012090) 2013-6-28 11:32:27
开发这么不值钱了。。。
遥执乾坤(44758121) 2013-6-28 11:33:13
,核心开发有人了啊,外围开发天然找几个实习生足够了。
北京-***(506650296) 2013-6-28 11:34:15
恩,学生可塑性高,听话
jace(793727599) 2013-6-28 11:56:19
只要有钱有人有咨询,想不嬴都不行
jace(793727599) 2013-6-28 12:02:03
有钱意味能用最稳定最早进的架构,有人意味着分工明确,每一个领域都各司其职,有专业的工程师,有咨询意味着能够跟IBM、Oracle、teradata、intel等合做,搞一些规范成熟的方案。
jace(793727599) 2013-6-28 12:03:03
相似于拍电影,有导演有剧本有主角。
jace(793727599) 2013-6-28 12:09:01
因此窝在大公司里能够学到不少东西
Glory(1302516908) 2013-6-28 12:10:51
头一次据说,窝在大公司里能够学到不少东西
jace(793727599) 2013-6-28 12:11:40
反正我学到挺多的
Glory(1302516908) 2013-6-28 12:13:11
上边的人能够学到不少东西
并且有足够的钱来回折腾
十一月的肖邦(1041901964) 2013-6-28 12:13:35
大公司学得多吗
表示想去大公司
Glory(1302516908) 2013-6-28 12:14:12
像阿里的技术高层,大概把全部的高性能方案都学习探索过
空/卡皮(501968942) 2013-6-28 12:15:10
进不去啊
Glory(1302516908) 2013-6-28 12:16:23
我当年去华为,操整天就那点屌东西,整个三级部门就那点屌东西
要学东西,大概得混到三级部门经理以上的级别了
遥执乾坤(44758121) 2013-6-28 12:19:17
去互联网公司吧,的确能够学到不少东西,只要你愿意。
空/卡皮(501968942) 2013-6-28 12:23:33
哦哦
初学者 进也难啊
Glory(1302516908) 2013-6-28 12:23:56
有没有阿里的?过两年如今的公司成不了,争取去阿里了
遥执乾坤(44758121) 2013-6-28 12:24:23
阿里不要大于30岁的人。
空/卡皮(501968942) 2013-6-28 12:24:37
为何
遥执乾坤(44758121) 2013-6-28 12:24:45
没有前途了啊。
Glory(1302516908) 2013-6-28 12:24:49
扯啊,阿里动不动开年薪五六十万,都是30多岁的人
南京-听风(190661155) 2013-6-28 13:30:18
怎么可能不要30岁以上的人,阿里须要的反而大多数是30岁以上经验丰富的
十一月的肖邦(1041901964) 2013-6-28 13:36:41
action怎样获取前台select 的值
阳光(413055687) 2013-6-28 14:04:43
request.getParameter("")就能够,或者Action里变量  名称跟select名字同样,有getXXX,setXXX方法也行
北京-普通人(409031406) 2013-6-28 16:51:27
有遇到这样的状况么,在window下,用jdbc去跑100个mysql查询须要600毫秒,在linux须要1500毫秒
遥执乾坤(44758121) 2013-6-28 16:54:51
mysql下,跑一个简单的select范围查询,有索引的状况下,花费了2分钟,你们又遇到过么?
上海-石头哥(59851444)  17:00:12
把sql贴出来看看吧
说不定能够看出什么 端倪
100个才600ms
还有什么能够说的啊
2分钟的看一睛
遥执乾坤(44758121)  17:03:24
select AvgDownloadSpeed,UploadTaskTime,peerid,TaskDefinitionID from taskexecmain where UploadTaskTime>='2013-06-18 00:00:00 000' and UploadTaskTime<'2013-06-19 00:00:00 000' and TaskDefinitionID in ('7194','7195','7196',) and totalDownLoadTime>'1.4E-45' and totalDownLoadTime<'200.0' and (errorcode is null OR errorcode = '0') limit 0,5000, time:226613167540,ok:true
time:226613167540 纳秒,其实就是226秒。
上海-石头哥(59851444)  17:05:22
个人妈呀
7194 ~ 7489
上海-石头哥(59851444)  17:05:55
这是连起来的啊
上海-石头哥(59851444)  17:07:30
and (errorcode is null OR errorcode = '0')
把这个 is null
换成其它方式试试
去掉这个能快多少
遥执乾坤(44758121)  17:11:01
实际的in有1k多个值,这里拷贝不下。
上海-石头哥(59851444)  17:13:04
in里边的数据是string不是int的吗
还有你数据字段用是的string是吗
遥执乾坤(44758121)  17:14:24
in里面是int,但这些int不能保证连续。
京-一夏<wpx378802619@qq.com>  17:14:33
in换成exists试试
上海-石头哥(59851444)  17:14:40
那你把引号去掉
遥执乾坤(44758121)  17:14:46
不是同样么?
引号这种就算转化也会很快才对啊。
北京-普通人(409031406)  17:24:36
mysql在你本地,仍是其余机器上
遥执乾坤(44758121)  17:24:50
都是本机跑的。
北京-普通人(409031406)  17:25:18
那本机跑。应该挺快递
Glory(1302516908)  17:25:24
咱们如今倒腾数据都用shell,发现shell真他妈强大
mysql里只剩下最后简单查看的数据,几乎不用mysql作任何略微复杂的运算了
北京-普通人(409031406)  17:27:38
shell确实很强大
awk 对数据处理很强大
遥执乾坤(44758121)  17:28:35
awk处理文本数据,已经足够了。
南京-听风(190661155)  17:28:35
我也据说了,能举个应用场景吗
举个应用的例子
北京-普通人(409031406)  17:29:56
对文本数据处理,确实彻底够了
Glory(1302516908)  17:31:15
非实时系统就有这个好处,早晨8点上班前把数据准备好就OK
北京-普通人(409031406)  17:31:41
通常用于作分析,作计算用
Glory(1302516908)  17:31:51
再大的数据都不存在大数据问题了
北京-普通人(409031406)  17:31:54
恩。大数据公司估计用的多
Glory(1302516908)  17:33:58
好像群里有些兄弟去年去云基地,云基地都作什么啊?
南京-听风(190661155)  17:34:20
哪一个云基地?
云基地如今多如牛毛
北京-普通人(409031406)  17:35:34
云基地?在那里
云基地搞云计算?
Glory(1302516908)  17:36:07
北京北边什么云基地,去年群里不是好几我的去吗?
北京-醉(253215039)  17:40:59
@乾坤:
上面那个sql所在表什么量级?
遥执乾坤(44758121)  17:46:54
1100w
北京-醉(253215039)  17:49:17
应该是作全表扫瞄了
遥执乾坤(44758121)  17:50:18
没有,所有扫描估计30分钟都搞不定,有好几十个G呢。
北京-醉(253215039)  17:50:42
这么大的表啊?
北京-醉(253215039)  17:51:45
一条纪录有5k?
遥执乾坤(44758121)  17:52:15
没有5k,但也有上K。
横瓜(601069289)  17:53:15
计算要放应用层
不要采用SQL执行计算
北京-醉(253215039)  17:53:53
高版本mysql应该会自动优化
Glory(1302516908)  17:54:06
先加个where TaskDefinitionID > <的条件,大概能快不少
横瓜(601069289)  17:54:21
能够采用垂直分解应用业务和复杂计算
遥执乾坤(44758121)  17:54:41
TaskDefinitionID 有十万多个。
横瓜(601069289)  17:54:50
若是数据量特别大,请采用水平方式来分解应用业务和复杂计算
采用水平方式来分解应用业务和复杂计算
可处理TB级的数据量,为全世界提供信息服务
北京-醉(253215039)  17:55:30
若是是int型,查询时加了引号,未必能用到索引。
遥执乾坤(44758121)  17:55:45
mysql好像只能用一个索引。
北京-醉(253215039)  17:55:56
另外得把is null去掉吧,这东西确定不命中索引
横瓜(601069289)  17:56:12
必要时,能够支持1秒/10万次-100万次的请求
北京-醉(253215039)  17:56:31
能够有多个,但你这么大的表,也不能多建。
横瓜(601069289)  17:56:46
若是优化到很是完美的状况下,能够支持1秒/10万次-100万次的请求
北京-醉(253215039)  17:56:54
这么大数据,索引也很耗资源
横瓜(601069289)  17:57:05
等于100个GOOGLE的请求水平
北京-普通人(409031406)  17:58:21
1秒/10万次到100万次的请求,应该要看cpu和数据量吧
Glory(1302516908)  17:59:11
那些值都是连续的,确定是大小比较嘛,怎么会用in?
横瓜(601069289)  17:59:20
采用普通PC+固态硬盘+水平分解业务+缓存+LINUX2.4以上的版本+接入层请求分发均衡
北京-醉(253215039)  17:59:22
1秒10万次请求,真实的qps也就1000左右把,容许有100ms的网络延迟



前端