- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我一直在寻找堆栈中的建议,但我仍然不能 100% 确定改进它的最佳方法。我有一个存储大约 130K 条记录的 mysql INNODB“产品”表。杂项产品数据等大约有 80 个字段,然后我们一直在为每个供应商(成本/编号/库存)添加供应商库存数据字段 x 3,从而产生另外 35-40 个额外字段。
我们通过 loaddata 或用于 xml/xls 提要的 php 脚本将供应商数据提要运行到每个供应商的单独表格中。然后我们运行一个查询来更新产品的成本/库存,相关供应商表中的最新数据与每个表中的 id 匹配。然后对我们的每个供应商饲料(目前大约 15 个)运行此过程,在某些情况下每天一次,在其他情况下每天两次/3/4 次,饲料大小从几百到 1/3/20/30K 不等。
然后,我们运行一个脚本(由于供应商数据源的导入时间表不同,一天运行几次)比较所有供应商的库存(来自主要产品表数据),并根据最低库存的供应商生成价格观点。然后,这会为某处有库存的每个商品更新产品表中的整体最佳产品价格。
更新最佳价格脚本从表中选择在某处有一些库存的所有记录,并在用价格单独更新每个产品之前进行计算。我们遇到的问题是我们在这段时间内速度变慢,有时可能只有一两分钟,但有时似乎需要 5/6 到 10 分钟,具体取决于网站流量等,大概是因为产品表正在更新和重新- 索引,而每次运行最多 20/30 千条记录。
产品表是站点最繁忙的表,当更新运行时,我们看到 CPU 上升到 300/350%。我们正在尝试确定我们最好的选择是否最初是将存储的最佳价格和汇总股票值(value)分开到另一个表中,并在我们提取产品数据时加入该表以解决索引/锁定问题,或者我们是否只是简单地需要迁移到仍然可以处理数据库/网络服务器/电子邮件等的新服务器,或者运行专用的数据库服务器。
重新迁移或新的专用数据库服务器的问题是成本,当服务器以 10/20/30/40% 的 CPU 超出这些缓慢的更新周期时,它是老板的停止点。如果我们要使用数据库服务器,最简单的选择是获取一个新服务器并从该服务器运行数据库,以节省重新安装我们的自定义应用程序/邮件服务器/网站应用程序文件等。如果我们这样做,我们将能够获得远离我们目前拥有的较低规范的服务器,或者我们真的需要考虑数据库服务器是 2 中更好的规范吗?任何帮助或一般建议将不胜感激!!!谢谢。
1 Câu trả lời
听起来您的产品表未规范化。如果您不太清楚那是什么意思,请仔细阅读。了解这一点对您的成功至关重要。
如果我是你,我会选择这个选项:“将存储的最佳价格和聚合股票值(value)分开到另一个表中,并在我们提取产品数据以解决索引/锁定问题时加入这个表” .也就是说,我认为您应该为产品表和相关供应商信息从非规范化模式切换到规范化模式。
但是,转换需要开发人员的劳动。通常开发人员的劳动力比新的服务器硬件更昂贵。将 mySQL 数据库实例从一台服务器机器迁移到另一台机器并不难。如果您确实要购买一台新的服务器机器,请购买您能负担得起的最快的磁盘存储子系统。如果您使用 RAID,请选择 RAID 1-0( strip 化和镜像)而不是 RAID 5。除此之外,如果您为新服务器配备 4GB 内存和双处理器或四处理器,应该没问题。
换句话说,购买一台 2012 年生产的普通中端服务器机器,配备良好的磁盘存储子系统。将你的 mySQL 放在新机器上(其他的不要管)。
但是,请仔细考虑您的应用程序需要扩展多少。
此产品表的大小是否已接近几年后的大小?或者您的公司是否计划在未来数月和数年内增加大量新产品和新供应商?如果你必须扩大这个系统,你真的必须选择第一个选项(使用开发人员的劳动力并更改为更好的、规范化的 DBMS 模式)。如果您现在咬紧牙关并进行此更改,您的系统将更容易扩展。
但是,如果您公司的产品线相当稳定,那么花费五或一万美元左右添加一台新服务器是最便宜的方式。
关于mysql - 现有 mysql 表或单独表中的附加字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10182998/
Điều tôi muốn làm là để JTextPane chiếm càng nhiều không gian càng tốt trong JPanel. Đối với UpdateInfoPanel tôi sử dụng: public class UpdateInfoPanel extends JP
Tôi có một JTextArea trong JPanel và tôi muốn sử dụng nó với JScrollPane. Tôi đang sử dụng GridBagLayout. Khi tôi chạy nó, khung dường như tạo chỗ cho JScrollPane, nhưng
Tôi muốn đạt được chức năng sau trong xcode. Tôi có một Bộ điều khiển chế độ xem. Trong UIViewController này, tôi có một UITabBar. Bên dưới chúng là UIView. UITab
Có ai biết trong Firebird 2.5 có chức năng nào tương tự như hàm "STUFF" trong SQL không? Tôi có một bảng chứa các bản ghi người dùng cha và một bảng khác chứa các bản ghi người dùng con liên quan đến cha. Tôi muốn có thể trích xuất một chuỗi được phân tách bằng dấu phẩy của "ROLES" mà người dùng có, trong khi
Tôi muốn sử dụng JSON làm đầu vào và đầu ra của kênh mirth, ví dụ như thông tin chi tiết được lưu trong cơ sở dữ liệu hoặc tin nhắn HL7 được tạo. Nói tóm lại, đầu vào là JSON, phân tích cú pháp và đầu ra là bất kỳ định dạng nào. Câu trả lời hay nhất: var object
Thông thường tôi sẽ sử dụng R và thực hiện merge.by, nhưng tệp này có vẻ quá lớn đối với bất kỳ máy tính nào trong khoa để xử lý! (Thông tin bổ sung cho bất kỳ ai làm việc trong lĩnh vực di truyền học) Về cơ bản, việc quy imputation dường như đã xóa các số rs cho ID snp và tôi còn lại
Tôi có một câu hỏi có thể đã được hỏi trước đây, nhưng tôi đang gặp khó khăn trong việc tìm ra mô tả phù hợp. Tôi hy vọng có ai đó có thể giúp tôi. Trong mã bên dưới, tôi đã đặt varprice và tôi muốn thêm biến javascript accu_id để tra cứu bản ghi trong cơ sở dữ liệu của tôi thông qua rails
Tôi có một tệp SVG đơn giản hiển thị tốt trên Firefox - tệp này có một số văn bản được bao bọc chứa một số mã HTML bằng cách sử dụng foreignObject - văn bản được bao bọc trong một div:
Vì vậy, tôi đang viết một chương trình Ruby cho trường học để thay đổi giá trị bool thành true nếu giá trị là 1 hoặc 3 và thành false nếu giá trị là 0 hoặc 2. Vì tôi có kiến thức nền về Java nên tôi nghĩ đoạn mã này sẽ hoạt động:
Những gì tôi đã làm: Tôi đã tạo kết nối ngang hàng VPC giữa các tài khoản này. Internet Gateway cũng được đính kèm vào mỗi VPC. Ngoài ra, tôi cũng đã cấu hình bảng định tuyến (để cho phép lưu lượng truy cập từ cả hai phía). Trường hợp 1: Khi cả hai VPC đều nằm trong cùng một tài khoản, tôi đã thử nghiệm thành công kết nối từ một La khác.
Tôi có một bảng có tên là danh bạ: user_id contact_id 10294 10295 10294 10293 10293 10294 102
Tôi đang sử dụng mẫu mới trong Magento. Để tránh trùng lặp mã, tôi muốn sử dụng cùng một mẫu con cho mỗi bản xem trước sản phẩm. Cụ thể, tôi đã tạo một màn hình như thế này: $products = Mage::getModel('catalog/pro
"for" có luôn kiểm tra loại đối số đầu tiên trong mọi hàm được định nghĩa trong giao thức không? Chỉnh sửa (sửa lại): Khi một phương thức giao thức chỉ có một tham số, một triển khai sẽ được tìm thấy dựa trên kiểu của tham số duy nhất đó (trực tiếp hoặc tùy ý). Khi thỏa thuận (p
Tôi muốn gọi một hàm JavaScript từ mã PHP của mình. Tôi đã thực hiện điều này bằng cách sử dụng: echo ' drawChart($id); '; Điều này hoạt động tốt nhưng tôi muốn lấy dữ liệu từ mã PHP của mình và tôi sử dụng
Câu hỏi này đã có câu trả lời: Liên kết sự kiện trên các phần tử được tạo động? (23 câu trả lời) Đã đóng 5 năm trước. Tôi có một biểu mẫu động mà tôi muốn thêm một số h khác
Tôi đang cố tìm giải pháp để sử dụng setState trên một mục bản đồ trong componentDidMount. Tôi đang sử dụng GraphQL với Gatsby để trả về nhiều mục dữ liệu, nhưng yêu cầu
Tôi có một View bên trong một ScrollView. Miễn là người dùng giữ nút View, tôi muốn gọi một phương thức sau mỗi 80 mili giây. Đây là những gì tôi đã thực hiện: final Runnable rung = new Runnab
Tôi đã phát triển một ứng dụng Android bằng jni. Tôi nhận được lỗi dvmabort trong dvmDecodeIndirectRef của GetStringUTFChars. Tôi chỉ dừng lại một lần. Tại sao lại thế này
Khi đến phần Hoạt động, tôi gọi FragmentPagerAdapter để xử lý các tab khác nhau. Trong một trong các tab của tôi, tôi muốn hiển thị RecyclerView nhưng nó không bao giờ xuất hiện, với các điểm dừng mà tôi thấy
Khi tôi nhấn một nút trong Activity, DialogFragment sẽ bật lên. Trong đoạn hộp thoại, có một RecyclerView trông giống như một ListView bình thường. Hành vi tôi muốn là khi
Tôi là một lập trình viên xuất sắc, rất giỏi!