霹雳青
IP:上海
0关注数
0粉丝数
27获得的赞
北京宏达盛丰科技有限公司
高级Java开发工程师
上海大学
本科
工作10年
编辑资料
链接我:

创作·57

全部
问答
动态
项目
学习
专栏
霹雳青

程序员不上班还有哪些出路?(1024活动话题)

送外卖是归宿
7
0
0
浏览量0
霹雳青

找对象和赚钱哪个更重要?(1024活动话题)

全都要
6
0
0
浏览量0
霹雳青

上几年班,才能买得起所在城市的房子?(1024活动话题)

起码先活个五百年吧
7
0
0
浏览量0
霹雳青

程序员们现在手头都有多少存款?(1024活动话题)

已被套牢了
7
0
0
浏览量0
霹雳青

24年普通本科

目前是AI狂潮,机会应该是挺多的
0
0
0
浏览量0
霹雳青

小程序bindtouchend在向左滑动时移出屏幕外不触发

同样的问题,我的也是在向左拖动时,拖出屏幕外bindtouchend不触发,其他方向都没问题,但是我在真机上测试,又是正常的,但不晓得你解决没,如果没解决,可能是小程序的BUG,没兼容好电脑端测试
0
0
0
浏览量0
霹雳青

小程序video问题 安卓正常 ios时好时坏

因为iOS对于视频的支持不如安卓,所以iOS有时不能播放能在安卓上播放的视频
0
0
0
浏览量0
霹雳青

微信小程序tabBar文字、图标大小如何修改

自己写的都是,系统的限制有点大,但是自己写的很多地方没有官方的好,官方就一点就是样式不灵活
0
0
0
浏览量0
霹雳青

小程序长按识别二维码的功能如何实现

这个问题我遇到过,你图片带二维码不?只要带,你就用那个小程序wx.previewImage预览,长按就会出现
0
0
0
浏览量0
霹雳青

https和wss公用的是一套证书吗?

是一套wss是security版本的websocketwebsocket协议是通过Upgrade由http升级而来,所以证书是一套
2
0
0
浏览量0
霹雳青

微信支付流程中后台是如何拉起微信客户端的?

其实就是商户系统后台生成调用微信的参数给微信客户端,微信客户端就可以调用微信支付了
0
0
0
浏览量0
霹雳青

iview的表格组件宽度自适应问题

html: <Table :columns="columns" :data="data" class="table" /> css .table table{ // table-layout: auto; width: 100% !important; }
0
0
0
浏览量0
霹雳青

table中绑定了太多的事件,该如何优化性能?

使用事件委托
0
0
0
浏览量0
霹雳青

element-ui + async-validator的类型为number的验证规则无法正确识别已输入的数字

<el-input v-model.number="ruleForm.name"></el-input>
0
0
0
浏览量0
霹雳青

Vue关于使用vue-router控制视图渲染的问题。

解决思路: export default { name: 'app', data () { return { showSide: true } }, components: { TopBar, SideBar }, methods: {}, watch: { '$route': function(val, oldVal){ /^\/stores/.test(val.path) ? this.showSide = false : this.showSide = true; } } } 该思路解决了路由跳转('/' --> '/stores')时对SideBar的隐藏。但有一个遗漏,直接访问路径('/stores')时无法隐藏SideBar,原因是直接访问该路径时,没有触发App的watch。据此做了点改进,加了一个created钩子。 export default { ... methods: { SideBarCtrl(path){ /^\/stores/.test(path) ? this.showSide = false : this.showSide = true; } }, created: function(){ this.SideBarCtrl(this.$route.path) }, watch: { '$route': function(val, oldVal){ this.SideBarCtrl(val.path); } } }
1
0
0
浏览量0
霹雳青

Vue Element 框架中的 emitter.js 中为什么parent.$emit 还要apply?

我认为是apply能传递parent以外的值进去,替换父组件方法中的this
0
0
0
浏览量0
霹雳青

elementUI中
this.$refs['cascaderRefArea'].inputValue = '编辑时你的值'这可以解决。随便赋值什么都可以
1
0
0
浏览量0
霹雳青

sql问题之where条件的优先级

sql问题之where条件的优先级 如果我一个查询里边过滤,where 子句用了datetime > 2015-01 and sex = 1 比如数据有100万肯定是先用datetime过滤要滤到1大批数据了 假如datetime 过滤后,有10万数据符合条件 先用sex,有50万数据符合条件. 我肯定是希望先用datetime来过滤,然后再用sex过滤. 还是我根本不用考虑,系统底层无差别? 我在用sql server.
SQL
0
1
0
浏览量152
霹雳青

mysql 怎么统计七天内的订单,和每日的订单啊?

我的订单表使用的create_time时间戳来表示下单时间的,如果取当日订单好计算,但是如果取七天内的订单呢? 如果我想要得到七天内的每一天的订单数量又该怎么计算呢?真是郁闷,希望大神解答下哈,谢谢了。
SQL
0
1
0
浏览量157
霹雳青

mysql PHP 如何实现空间距离的检索 计算配送范围

我觉得这似乎是一个新的领域,用sql查询能计算空间坐标,返回指定范围内的点吗?类似,美团,饿了么那样的,根据餐厅的配送范围检索可以配送的餐厅; 正是因为地图API解决不了我的问题: https://segmentfault.com/q/1010000004708... https://segmentfault.com/q/1010000004586... 所以我就想自己解决这个问题了,需要有专门的服务软件吗?mysql 有个geometry类型字段可以用吗? 写sql查询应该会很有性能问题吧,感觉怪怪的。 求有经验的大神提供思路,谢谢!
SQL
0
1
0
浏览量150
霹雳青

现在我在学习MySQL,问问怎么复制粘贴数据库.

大家好,是这么回事: 就是我白天在公司上班,其实大多数时候都很清闲,我就利用这些时间自学坐在那里学MySQL,PHP... 学php 和 js html 的时候还好说,我把文件传到 快盘,回到家同步一下,再复制出来,就可以继续自学; 可是我学MySQL的时候,我把白天在公司做好的表,库 上传到快盘,拿回家放到 *mysqldata 文件夹下的时候,居然都不能用!提示:Table * doesn't exist 我百度查了是因为数据库不存在这个表,我就想问问,要是复制数据库文件,换个电脑继续用的时候,都怎么操作? 我用的windows 系统,谢谢大家解答. 告诉我个命令,我自己去百度搜就行,比如你告诉我 CREATE TABLE ,DROP TABLE
SQL
0
1
0
浏览量188
霹雳青

sql怎么随机取50条数据?

MySQL从一张表怎么随机取50条数据?
SQL
0
1
0
浏览量132
霹雳青

SQLAlchemy中模糊查询,如何like多个关键字

比如需要找出u_name中既有“三”又有“猫”的记录:SQL原生语句如下: SELECT * FROM [user] WHERE u_name LIKE '%三%' AND u_name LIKE '%猫%' 请问这个如何在 SQLAlchemy 中实现呢
SQL
0
1
0
浏览量144
霹雳青

【MySQL】求一个SQL语句的优化

select * from yq_product where instr(concat(title,',',metakey,',',metadesc,',',cat_name,',',brand_name), '品') order by instr(concat(title,',',metakey,',',metadesc,',',cat_name,',',brand_name), '品')就是 instr(concat(title,',',metakey,',',metadesc,',',cat_name,',',brand_name), '品') 这一句,有办法不重复吗? 试过这样不行: select *, instr(concat(title,',',metakey,',',metadesc,',',cat_name,',',brand_name), '品') as search from yq_product where search>0 order by search
SQL
0
1
0
浏览量184
霹雳青

为什么在函数内用parseExpr执行会报SQL context is not initialized yet

在DolphinDB GUI内执行下面代码:def yoy_continuous_validation(X, threshold, validation_way, continuous_len){ if (not(string(validation_way) in ['>','>=','<','<=','='])){ return NULL } m = parseExpr("iif(msum(iif(yoy(X)" + iif(string(validation_way) == "=","==",validation_way) + "threshold,1,0),continuous_len) == continuous_len,1,0)").eval() return m }报错SQL context is not initialized yet,parseExpr拼接的语句为iif(msum(iif(yoy(X)>threshold,1,0),continuous_len) == continuous_len,1,0)直接执行不会报错,是什么原因?
SQL
0
1
0
浏览量160
霹雳青

为什么计算结果返回-0

我在DolphinDB GUI中执行下列代码:x=table(103.6994 103.6994 as a,`a`a as b) select 100-(first(a*100)/last(a)) as res from x group by b这个计算结果给我返回了-0,为什么会带一个负号?
SQL
0
1
0
浏览量130
霹雳青

怎么找到第一个满足条件的行

根据reg_code,address去统计interval的累积值,当累积值到一个设定的常量值,比如86400,只要累计值刚刚等于或者大于这个常量值得时候返回对应的date_time。在DolphinDB表中的数据如下图所示。
SQL
0
1
0
浏览量121
霹雳青

dolphindb中如何设置某个数据节点单独的参数配置?

我现在是15个核心两个节点,那么一个节点7核心一个节点8核心,在哪里配置中进行配置单独的分配,cluster.cfg中的workerNum好像是统一分配的,应该怎么做呢?
SQL
0
1
0
浏览量130
霹雳青

请问下dolphindb中用不同的python去run同样的脚本,里面有相同的内存表定义,会互相影响吗?

我的脚本如下 这个内存表名mt=loadTable("dfs://stockL2","mdl_4_3_0"),mt是进程内有效的是么?就是说我用另一个python去run同一个script,不会互相影响?
SQL
0
1
0
浏览量150
霹雳青

请教一下在dolphindb中,那么有什么办法可以对表和矩阵相互转换吗?

在dolphindb中我想把表和矩阵相互转换应该怎么做呢?
SQL
0
1
0
浏览量171
霹雳青

删除dolphindb表的指定行

想要删除表中某一列为空的记录,但是似乎不支持,报告异常 It is not allowed to delete rows from tables other than basic in-memory tables and segmented in-memory tables. dolphindb应该如何删除单行记录? delete from trades where isNull(symbol)
SQL
0
1
0
浏览量132
霹雳青

请问在dolphindb中where id = id返回全部数据,对吗

DolphinDB版本:1.10.3 2020.03.30代码如下,其中有一个表的字段名是id,有一个变量,变量名也是id : id = 1 t=table(1 2 4 8 4 2 7 1 as id, 10 20 40 80 40 20 70 10 as val) select * from t where id = id 上述语句执行后返回全部数据,而不是id=1的那些记录,为什么?
SQL
0
1
0
浏览量130
霹雳青

如何让DolphinDB内存表整个表格的null都变为0

nullFill好像不支持整个表格。如果要让整个表格的null都变为0,是不是只能用 loop/each:loop(def(tab,col){tab[col].nullFill!(0)}{tab_res}, tab_res.colNames())
SQL
0
1
0
浏览量168
霹雳青

请问MYSQL里如何取得某个字段除了后三位的字符串

比如a 123001 3405002 56700003 我想取得除了后三位001,002,003的前面的数字。要怎么截取?PS:只能MYSQL操作
0
1
0
浏览量165
霹雳青

DolphinDB中怎么得到日期的月份

取一个日期的月份,month取出来的格式是如下图yf列这样的,比如month(1990.06.30T00:00:00.000000000),取出来为1990.06M,但我只想得到12,请问要调用哪个命令?
SQL
0
1
0
浏览量183
霹雳青

为什么 MySQL 不用我期望的索引?

我们的 MySQL(Percona Server) 数据库有一个很大的表,1000多万条记录,我发现有很多类似的慢查询,40来秒: SELECT col1, Seller, col3, col4, Id, col5 FROM table1 WHERE Seller = 346761 AND col1 IN (2, 3, 4) AND col3 = 1 AND col4 NOT IN (5,6,7) ORDER BY Id DESC LIMIT 0, 20;我发现在 Seller, and col1, col3, col4 这几个列已经建了独立索引。 Id 是主键。EXPLAIN 显示 MySQL 查询这个语句的时候使用了 Primary key 索引, 而不是 Seller。+----+-------------+------------------+-------+--------------------+---------+---------+------+------+-------------+ | id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | +----+-------------+------------------+-------+--------------------+---------+---------+------+------+-------------+ | 1 | SIMPLE | trans_audit_list | index | Seller,AuditStatus | PRIMARY | 8 | NULL | 1483 | Using where | +----+-------------+------------------+-------+--------------------+---------+---------+------+------+-------------+我感觉这个查询如果用 Seller 上的索引会很快,果然,我强制 force index (Seller), 就只用 0.7 秒。 为什么 MySQL 不用 Seller 上的索引,感觉使用这个索引是很显然的。是不是因为指定了 order by Id, Id 是主键,所以 MySQL 就用主键索引了?另外:我发现如果不加上 Limit 语句,就会使用 Seller 索引,查询会非常快。
0
0
0
浏览量167
霹雳青

请问 SQL (mysql) 如何查询相同 ID下某一列全部相同的 sql 语句怎么写?

表名称 为:egg_school_en_user_data_word_log 例如以上的图相同ID 'wextid' 下 某一列 'result' 全部等于 error 的 正确将查询出 wextid 为 5528 的数据 而 wextid 为 2628 的数据 因为其中有一行 'result' 为 correct 所有不应该被查处。 我的目的 是指 在 wextid 相同情况下,result 必须全部为 error 的值。 我需要的是 如果上图中 第 5行(ID为730) 的 result 变成error 那么将查询出 5528,2628 个值 的SQL语句。
SQL
0
1
0
浏览量184
霹雳青

sudo /etc/init.d/mysql stop 与sudo stop mysql的区别?

一开始我认为其作用都是相同的,但是看到控制台输出的内容信息不一致,我觉得应该作用不一样?那位大神指点下。http://blog.csdn.net/penglei0901/article/details/28634557这个连接的说法不敢赞同。
0
0
0
浏览量191
霹雳青

单表分类取最值的SQL如何实现效率最高?

现有实际需求如下:表TBL(userid,logintime,dat),userid为用户名(KEY),logintime为登录时间,dat为某些数据,请写SQL语句返回每个有记录的用户在最后一次登录所产生的userid,dat结果集。这个问题其实是一个广谱性的问题,在很多场景下会遇到。那么对于这类单表分类(userid相同的视为一类)取最值(或者是最大两个或三个值)的问题,如何设计SQL才能使效率最高?
SQL
0
1
0
浏览量169
霹雳青

mysql为什么用了子查询后,主查询没走主键索引

0
1
0
浏览量203
霹雳青

如何设计 用户钱包金额收支记录表?

我想做一个对于 用户钱包金额收支情况记录的表就是对于 money1(买家金额)money2(买家冻结金额) money3(卖家金额)money4(卖家冻结金额) 这个四个字段,所有的加减都要有个记录,该怎么设计表好呢?有什么必须的字段,要求?求经验丰富的人推荐下设计方案? 能不能根据数据库的变动做一个记录?就是当用户表的 金额字段发生变化时,把其变化存入一个新的表里?我用的是MySQL数据库,是不是得使用触发器?
SQL
0
1
0
浏览量175
霹雳青

JAVA 商城商品 sku 数据库怎么保存?

分类不同,属性组可能不同 比如手机:颜色、版本、容量 比如衣服:颜色、尺码 还有些可能没属性 这样,SKU数据库应该怎么设计? skuId(sku ID)、goodId(商品ID)、price(价格)、quantity(库存) 现在就是属性怎么保存? 主要是怎么关联: 我想到的是 sku再加上全部属性组字段,一个颜色ID字段、一个版本ID字段、一个容量ID字段、一个尺码ID字段,没有的为0 这样下来一条sku记录就很多没用字段了,感觉sku一般不应该这么设计吧。还有一个问题就是万一要多加一个属性组就要修改数据库和程序,改动会很大 求高手给一个思路 还有一个问题就是,这些属性组里面肯能就颜色还有一个颜色值字段,不像其他就一个ID一个组ID一个名称,是不是应该吧颜色这个组分离出来,我现在做的是颜色这个组再关联一个数据库表,这个还没考虑图片,因为颜色还有一个图片
0
1
0
浏览量184
霹雳青

分类信息的多层级分类是怎样设计的?

不同的信息,比如招聘、房产等,可以自由的定义不同字段,每个字段下可以定义数量不等的字段值,可以通过多个字段来筛选信息,这样的数据库是怎样设计的?我是这样想的:定义一个category表,来分类房产、招聘等不同的分类, 定义一个info标来存储信息,有id,category_id等, 定义一个attribute_name表来存储属性字段,比如图中的区域、租金、厅室、方式、品牌等, 定义一个attribute_value表来存储属性值,id,attribute_name_id,value等字段,比如这里的区域属性的朝阳、海淀、东城等。不知道该怎样将信息和属性、属性值联系起来,达到同时通过多个属性来筛选信息?比如这里图中通过区域、租金、厅室、方式等来筛选信息。不知道这样的多维分类是怎样设计的,求大神指点下,谢谢。
0
1
0
浏览量188
霹雳青

商品表 数据库设计

目前要做一个手机版商城, 在设计数据库时遇到该问题..比如一件衣服,这件衣服有红色、白色、蓝色, 红色又有X,XL,XLL尺码, 白色有S,M,X,XL 蓝色有M,X,XL对于自己设计的数据库一直感到不太满意,望各路大神,赐教.此问题的引申 一般商场不可能只出售衣服 , 还有会有电子产品等等乱七八糟的 后期扩展性 要怎么办呢?
0
1
0
浏览量169
霹雳青

mysql查询语句优化,请问这条语句有还能再优化吗?

需求是查询最近100天的图书浏览数据,根据浏览的图书id分组查询统计前23的查阅量排序 语句为: SELECT ip_times.query ,books.name,books.cover, COUNT(books.id) AS VALUE FROM ip_times,books WHERE (ip_times.path='/GetBookById' AND books.id=ip_times.query AND DATE_SUB(CURDATE(), INTERVAL 100 DAY) <= DATE(ip_times.date)) GROUP BY ip_times.query ORDER BY VALUE DESC LIMIT 23 问题出现的环境背景及自己尝试过哪些方法 我试着修改COUNT(*)为COUNT(books.id),减少到了5秒,但是还想再快点,请问有什么更好的方式呢?谢谢
0
1
0
浏览量115
霹雳青

Mysql主从复制和集群有何区别?分别适用什么场景?

redis主从复制和集群区别很明显,前者是为了提供冗余高可用,后者是为了将数据分散保存,不同的redis节点有不同的数据。 但是mysql主从和集群好像节点都有一样的数据,和redis主从/集群之间的差别完全不同,那是mysql主从和集群分别适用于什么场景?
0
1
0
浏览量159
霹雳青

mysql 嵌套 case when 的问题?

sql语句如下: SELECT a.uc_id id, ( CASE WHEN a.uc_realname IS NULL OR a.uc_realname ='' THEN a.uc_sys_name ELSE a.uc_realname END ) AS realName, a.uc_register_time registerTime, a.uc_phone phone, a.uc_last_login_time lastLoginTime, ( CASE WHEN LEFT (a.uc_code, 2) = '00' THEN '地推会员' ELSE '普通会员' END ) type, ( CASE WHEN a.uc_flag = 0 THEN '未确认' WHEN a.uc_flag = 1 THEN '有效' WHEN a.uc_flag = 2 THEN '无效' END ) flagName, b.post_status, ( CASE WHEN b.post_status IS NULL OR b.post_status = '' THEN ( CASE WHEN tmp.ctime IS NOT NULL AND tmp.ctime <> '' THEN '新投递' ELSE '暂无' END ) ELSE ( CASE WHEN b.post_status = 0 THEN '已预约面试' WHEN b.post_status = 1 THEN '面试成功' WHEN b.post_status = 2 THEN '已拒绝' WHEN b.post_status = 3 THEN '已失效' ELSE '未知' END ) END ) `status`, tmp.ctime, b.memo, c.realname manageRealName, c.id manageUseId FROM bco_uc.uc_app_user a LEFT JOIN bco_web.web_crm_dz b ON a.uc_id = b.app_user_id LEFT JOIN bco_web.web_manage_user c ON b.manage_user_id=c.id LEFT JOIN ( SELECT t.uc_id, MAX(t1.create_time) ctime FROM bco_uc.uc_app_user t LEFT JOIN bco_jobpost.job_position_apply t1 ON t.uc_id = t1.user_id COLLATE utf8mb4_unicode_ci WHERE t1.status='draft' GROUP BY t.uc_id ) tmp ON a.uc_id = tmp.uc_id 查询结果如下: 有没有发现case when的最外层的判断没有生效,这是为什么?
0
1
0
浏览量165
霹雳青

怎么用自定义泛型实现下面的代码,怎么优化

有两个类 结构差不多,都在Order类里面用到,而且方法里面逻辑也差不多,怎么优化 因为Customer和Client不同类型,所以写了两个方法,只是传的参数不一样 自定义泛型可以实现么,怎么写比较好,或者其它有什么方式 谢谢 public class Customer { private String location; private Boolean isDone; // get set toString ... } public class Client { private String location; private Boolean isDone; // get set toString ... } public class Order{public void execute_customer(Customer customer){ if(customer.getDone()){ customer.setLocation("hongkong"); } System.out.println("result: "+ customer); } public void execute_client(Client client){ if(client.getDone()){ client.setLocation("hongkong"); } System.out.println("result: " + client); } } ============================= 情况二 ===================================== public List<Customer> retrieveEntityRecords(RequestParam request) { List<String> ids = request.getId(); String location = request.getLocation(); boolean idsCk = CollectionUtils.isNotEmpty(ids) && ids.size() > 0; boolean locationCk = !StringUtils.isEmpty(location); List<Customer> result; try { if (idsCk) { if (locationCk) { // use [ids location] query db result=customerRepository.findxxx(ids,location); } else { // use [ids] query db result=customerRepository.findxxx(ids); } } else { if (locationCk) { // use [location] query db result=customerRepository.findxxx(location); } else { // query all record in db result=customerRepository.findxxx(); } } } catch (Exception e) { throw new SystemException(); } return result; } public List<Client> retrieveEntityRecords(RequestParam request) { List<String> ids = request.getId(); String location = request.getLocation(); boolean idsCk = CollectionUtils.isNotEmpty(ids) && ids.size() > 0; boolean locationCk = !StringUtils.isEmpty(location); List<Client> result; try { if (idsCk) { if (locationCk) { // use [ids location] query db result=clientRepository.findxxx(ids,location); } else { // use [ids] query db result=clientRepository.findxxx(ids); } } else { if (locationCk) { // use [location] query db result=clientRepository.findxxx(location); } else { // query all record in db result=clientRepository.findxxx(); } } } catch (Exception e) { throw new SystemException(); } return result; }
0
1
0
浏览量151
霹雳青

请教MySql中使用表子查询时,试着先排序后分组,出现排序失效的原因?

1,今天试着码了一下教程里的题目,是找出每一个班级的身高最高的学生,用的是先order by降序排序所有学生升高,再用 group by分组每一个班级取第一个值,却发现当使用子查询时,得到的仍旧是未排序时的结果,即没有取到最高身高,想问下为何使用子查询时,order by会失效,谢谢! ↑这是建立的表,有班级和身高记录 ↑使用group by查询一切正常,获得的都是每个id班级的第一个记录 ↑使用order by查询一切正常,获得的是按照年龄降序排序的结果 ↑当使用表子查询时,结果和前面单独group by一样,排序并没有生效,下面是代码 select from (select from student_text2 order by height desc) as student_wudi group by c_id;(有人说加limit会有用,试过无效) 尝试着将select范围添加进去,发现并没啥用...select student_wudi. from (select from student_text2 order by height desc) student_wudigroup by c_id; 以上就是遇到的问题,可能对大佬来说是小问题,不过这着实困扰我..希望能得到帮助,谢谢!
0
1
0
浏览量125
霹雳青

像很多网站(比如电商)里的筛选功能一般是如何实现的?

我的思路如下: 数据表:分类(编号,名称)筛选项(编号,名称,分类编号,显示顺序) 如"品牌"就是一个筛选项.筛选点(编号,名称,所属筛选项编号,显示顺序) 如"小米"就是一个筛选点.商品表(sku编号,分类编号)商品属性表(sku编号docid,筛选点编号集合content) 【全文检索表】 其中筛选点编号集合content字段存储内容如:101 102 108 110 230 SQL逻辑:根据"分类编号"查询"筛选项"表获得"筛选项编号".根据"筛选项编号"查询"筛选点"表获得"筛选点编号".上面两点就可以拿到上图筛选条件的界面数据了. 筛选链接的SQL逻辑: 1.筛选链接形如: list.php?category=分类编号&property=筛选点编号集合 list.php?category=1&property=2_4_5 2.全文检索逻辑:为了避免MySQL和PG之争,这里以SQLite为例. 商品属性表sku_property(sku编号docid,属性点集合content) 交集: SELECT docid FROM sku_property WHERE content MATCH '2 4 5' ORDER BY docid DESC LIMIT 10 OFFSET 20; 分页: ORDER BY docid DESC LIMIT 10 OFFSET 20; 排序: SELECT * FROM sku WHERE id IN ($docids) ORDER BY 销量|价格|评论数|上架时间 DESC; 其中"销量|价格|评论数|上架时间"都是商品表sku里的字段.本质上相当于对多个字段进行排序: ORDER BY id DESC, 评论数 DESC 这就存在一个问题,第二页的商品的评论数可能比第一页的多,这是不符合要求的. 如果要符合要求,可以考虑使用表连接: select * from sku inner join sku_property on sku.id = sku_property.docid where sku.category = 1 and sku_property.content MATCH '2 4 5' order by sku.评论数 DESC LIMIT 10 OFFSET 20; 3.$_GET['property']筛选点参数验证逻辑:首先property的元素数量不能多于当前分类的所有筛选项的数量.注意不是筛选点的数量,因为筛选项里只能单选筛选点. //筛选点集合:$_GET['property'] $property = array(筛选点_2, 筛选点_4, 筛选点_5); //防御式编程:如果$property跟"筛选项_1"中的array(筛选点_1, 筛选点_2)的交集大于1,则直接拒绝搜索. $cat = array( 筛选项_1 => array(筛选点_1, 筛选点_2), 筛选项_2 => array(筛选点_3, 筛选点_4), 筛选项_3 => array(筛选点_5, 筛选点_6), ); 可行性: 京东:平板电视商品筛选 共 4007个商品笔记本商品筛选 共 49431个商品 (单条件页面耗时:0.241秒,条件越多,页面耗时越少)手机商品筛选 共 6152个商品 全文检索中,条件越多(交集),应该是越慢吧?求解惑.京东不知道是用什么实现的,条件越多,耗时反而越少?京东是用solr的facet的思路吗?如果是,facet的原理是什么? SQLite全文检索:单个关键词,50万条记录,0.03秒(官方测试).10个关键词,5万条记录,0.03秒(个人简单粗暴的估算,并不准确).一个商品分类使用一个SQLite数据库来存储商品的属性(筛选点).如果是用MySQL的话则可以一个分类对应一张全文检索的属性表.我猜性能应该还是可以接受的.
0
1
0
浏览量182

履历

高级Java开发工程师
北京宏达盛丰科技有限公司
2023.03-2024.06
,
上海大学
本科
2021.09-2023.07