我FontAwesome在响应式Bootstrap网站中使用图标,并希望根据屏幕分辨率显示不同大小的图标.
理想情况下,我想使用容器宽度的百分比显示字体真棒图标,即宽度的50%,因此它们可以向上和向下缩放.我知道我可能只是使用svg图标,但我想使用FontAwesome,因为我在我的网站的其他地方使用它.
我知道你可以使用类来指定大小,即fa-lg或fa-2x.最好的解决方案是使用Bootstrap类来隐藏和显示各种大小,具体取决于屏幕分辨率,还是可以使用百分比自动缩放图标?
我有一个简单的MySQL查询,但是当我有很多的记录(目前103,0000),性能实在是太慢了,它说,它是使用文件排序,林不知道这是为什么它是缓慢的.有没有人建议加快它?或者使用filesort停止它?
MYSQL查询:
SELECT adverts .*
FROM adverts
WHERE (
price >='0'
)
AND (
adverts.status = 1
)
AND (
adverts.approved = 1
)
ORDER BY date_updated DESC
LIMIT 19990 , 10
Run Code Online (Sandbox Code Playgroud)
解释结果:
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE adverts range price price 4 NULL 103854 Using where; Using filesort
Run Code Online (Sandbox Code Playgroud)
这是广告表和索引:
CREATE TABLE `adverts` (
`advert_id` int(10) NOT NULL AUTO_INCREMENT,
`user_id` int(10) NOT NULL,
`type_id` tinyint(1) NOT NULL,
`breed_id` int(10) NOT NULL,
`advert_type` tinyint(1) …Run Code Online (Sandbox Code Playgroud) 我在我的网站上有一个mysql select语句,当网站变得非常繁忙时会出现性能问题.下面的查询从具有超过100k记录的表中搜索广告,在给定的lat和lon的25英里内并按距离排序.用户选择的里程数可以不同.
问题是我认为它很慢,因为它对表中的所有记录进行计算,而不是在纬度和离子25英里范围内进行计算.是否可以修改此查询,以便where子句仅选择25英里内的广告?我已经阅读了有关边界框和空间索引的内容,但我不知道如何将它们应用于此查询,我是否需要添加一个where子句来选择距离纬度25英里半径的记录,我该怎么做?
SELECT
adverts.*,
round(sqrt((((adverts.latitude - '53.410778') * (adverts.latitude - '53.410778')) * 69.1 * 69.1) + ((adverts.longitude - '-2.97784') * (adverts.longitude - '-2.97784') * 53 * 53)), 1) as distance
FROM
adverts
WHERE
(adverts.type_id = '3')
HAVING
DISTANCE < 25
ORDER BY
distance ASC
LIMIT 120,10
Run Code Online (Sandbox Code Playgroud)
编辑:更新以包含表模式,请注意表更复杂,查询也是如此,但我已删除了此问题不需要的内容.
CREATE TABLE `adverts` (
`advert_id` int(10) NOT NULL AUTO_INCREMENT,
`type_id` tinyint(1) NOT NULL,
`headline` varchar(50) NOT NULL,
`description` text NOT NULL,
`price` int(4) NOT NULL,
`postcode` varchar(7) NOT NULL,
`latitude` float NOT …Run Code Online (Sandbox Code Playgroud) 我有一个查询,它有一些子查询(内部选择),我正在尝试找出哪个对性能更好,一个更大的查询或许多更小的查询,我发现很难在差异变化时尝试和计时一直在我的服务器上。
我使用下面的查询一次返回 10 个结果以显示在我的网站上,使用分页(偏移和限制)。
SELECT adverts.*, breed.breed, breed.type, sellers.profile_name, sellers.logo, users.user_level ,
round( sqrt( ( ( (adverts.latitude - '51.558430') * (adverts.latitude - '51.558430') ) * 69.1 * 69.1 ) + ( (adverts.longitude - '-0.0069345') * (adverts.longitude - '-0.0069345') * 53 * 53 ) ), 1 ) as distance,
( SELECT advert_images.image_name FROM advert_images WHERE advert_images.advert_id = adverts.advert_id AND advert_images.main = 1 LIMIT 1) as imagename,
( SELECT count(advert_images.advert_id) from advert_images WHERE advert_images.advert_id = adverts.advert_id ) AS num_photos
FROM adverts
LEFT …Run Code Online (Sandbox Code Playgroud) 我有一个文章表,其中包含每天的文章视图数量.创建新记录以保存每篇文章的每个单独日期的计数.
以下查询获取所有时间前5个已查看文章ID的文章ID和总观看次数:
SELECT article_id,
SUM(article_count) as cnt
FROM article_views
GROUP BY article_id
ORDER BY cnt DESC
LIMIT 5
Run Code Online (Sandbox Code Playgroud)
我还有一个单独的文章表,其中包含所有文章字段.我想修改上面的查询以加入文章表并为每个文章ID获取两个字段.我试图在下面这样做,但计数回复不正确:
SELECT article_views.article_id, SUM( article_views.article_count ) AS cnt, articles.article_title, articles.artcile_url
FROM article_views
INNER JOIN articles ON articles.article_id = article_views.article_id
GROUP BY article_views.article_id
ORDER BY cnt DESC
LIMIT 5
Run Code Online (Sandbox Code Playgroud)
我不确定我做错了什么.我需要做一个子查询吗?
mysql ×4
performance ×2
bounding-box ×1
css ×1
filesort ×1
font-awesome ×1
geospatial ×1
icons ×1
inner-join ×1
optimization ×1
select ×1
subquery ×1